angular.js Uncaught Error: [ng:areq] Argument 'fn' is not a function, got Moment while working on angular-ui-calendar based calendar widget

angular.js Uncaught Error: [ng:areq] Argument 'fn' is not a function, got Moment while working on angular-ui-calendar based calendar widget

我很早就发现了这个话题es6 import moment.js in angular angular.js Error: [ng:areq] Argument 'fn' is not a function, got Moment,很遗憾,没有解决。 所以我决定刷新这个问题再问一遍,这次是我自己。

我正在从我的 app.js 文件中导入 moment.js,这是我的应用程序主模块初始化的来源:

...
import 'jquery/dist/jquery.js';
import moment from 'moment/moment.js';
import 'fullcalendar/dist/fullcalendar.min.js';
import 'fullcalendar/dist/gcal.min.js';
import 'angular-ui-calendar/src/calendar.js';

const app = angular
  .module('app', [
    uiRouter,
    uiBootstrap,
    'ui.bootstrap.datetimepicker',
    uiMask,
    cookies,
    ngTranslate,
    'ng-currency',
    moment,
    'ui.calendar',
    sanitize,
    uiSelect,
    uiNotification,
    'mm.acl',
    Common.name,
    Components.name
  ])

上面显示的 moment.js 库的导入和依赖注入方式,导致这样的错误:

Uncaught Error: [ng:areq] Argument 'fn' is not a function, got Moment
http://errors.angularjs.org/1.5.8/ng/areq?p0=fn&p1=not%20a%20function%2C%20got%20Moment

真的不知道如何让它发挥作用。 此外,在应用程序构建过程中使用 webpack,但所有新库和指令都直接导入到应用程序代码中,使用 ES6 importrequire 语句。 我没有使用 webpack 配置来使用 webpack 构建和加载每个第 3 方模块。 不知道如何导入 moment.js 并使其工作

你应该使用 angular-moment 而不是原生的 momentjs 包。