【问题标题】:How to import moment.js in ES6 using npm?如何使用 npm 在 ES6 中导入 moment.js?
【发布时间】:2016-07-28 08:20:58
【问题描述】:

我正在使用 Angular js 和 nodejs 以及 ES6。我想在 Angular js 代码中导入 moment.js。我做了'npm install moment --save'

现在我可以在节点模块内的 moment 文件夹中看到 moment.js 文件。

在我的 app.js 文件中,我这样写

'import moment from 'moment';

但是如果搜索具有日期范围的内容,则会在控制台中显示错误。任何人都可以帮助我如何做到这一点..?

【问题讨论】:

  • app.js node.js 文件吗?如果是,则使用var moment = require('moment');
  • 没有穆克什。我说的是 Angular 中的 app.js
  • 你要告诉我们错误是什么吗?

标签: javascript angularjs node.js ecmascript-6


【解决方案1】:
const moment = require('moment')

这对我有用

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

对我有用的选项是:

import * as moment from 'moment';

【讨论】:

    【解决方案3】:

    这就是你正在寻找的。

    import moment from 'moment'
    import it from 'moment/locale/it'
    import { utc } from 'moment'
    moment.locale('it')
    

    您可以在此处阅读相关问题。 https://github.com/moment/moment/issues/2608

    【讨论】:

      【解决方案4】:

      这里,这行得通:

      import moment from 'moment';
      window.moment = moment;
      

      【讨论】:

        【解决方案5】:

        因为版本 2.10.0 是用 ES6 编写的:

        import moment from './node_modules/moment/src/moment';
        // Note the 'src/' to import the ES6 version and not the CJS build
        

        不过,目前似乎无法只导入部分函数,​​您必须导入整个函数。

        【讨论】:

          【解决方案6】:

          目前,要使用 ES6 模块语法,您需要使用转译器,例如Babel,因为 node.js 和大多数浏览器还不支持 ES6 模块语法。

          Babel 和 webpack 非常适合这个。 Here 是一个很好的例子:

          一旦你正确配置了它,你就可以这样调用时刻:

          import moment from 'moment';
          console.log(moment.now());
          

          【讨论】:

            【解决方案7】:

            你写的代码不行,不行

            //wont work
            'import moment from moment'; this is wrong.
            //this will work
            import moment from 'moment';
            or
            import 'moment';
            

            如果这些不起作用。然后尝试使用 web-pack 向全局公开时刻。

            【讨论】:

            • 这是一个错字。与实际问题无关。
            【解决方案8】:

            改用这个库: https://github.com/urish/angular-moment

            加载js文件:

            <script src="components/moment/moment.js"></script>
            <script src="components/angular-moment/angular-moment.js"></script>
            

            在你的应用控制器中注入时刻依赖:

              var myapp = angular.module('myapp', ['angularMoment']);
            

            【讨论】:

            • 嗨 Anlainlb。我正在使用 es6 和 webpack。如果我使用 node modules ,webpack 可以构建前端代码。所以我想那样做
            猜你喜欢
            • 1970-01-01
            • 2023-04-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-02-14
            • 2017-01-31
            • 1970-01-01
            相关资源
            最近更新 更多