如何使用npm在ES6中导入moment.js?

San*_*eri 14 javascript node.js angularjs ecmascript-6

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

现在我能够看到在节点模块内的moment文件夹中的moment.js文件.

在我的app.js文件中,我有这样的意思

'import moment from 'moment';
Run Code Online (Sandbox Code Playgroud)

但是如果搜索具有日期范围的东西它在控制台中显示错误.任何人都可以帮我怎么做..?

cmd*_*cmd 12

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

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

正确配置后,您可以调用以下内容:

import moment from 'moment';
console.log(moment.now());
Run Code Online (Sandbox Code Playgroud)


fla*_*yte 9

由于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
Run Code Online (Sandbox Code Playgroud)

但是,目前看来,没有办法只导入函数的子集,而必须导入整个东西。


小智 9

对我有用的选项是:

import * as moment from 'moment';
Run Code Online (Sandbox Code Playgroud)


Ala*_*nIb 0

请改用此库: https: //github.com/urish/angular-moment

加载js文件:

<script src="components/moment/moment.js"></script>
<script src="components/angular-moment/angular-moment.js"></script>
Run Code Online (Sandbox Code Playgroud)

在您的应用程序控制器中注入时刻依赖性:

  var myapp = angular.module('myapp', ['angularMoment']);
Run Code Online (Sandbox Code Playgroud)