我正在使用角度js和nodejs以及ES6。我想在angular js代码中导入moment.js。我做了else if
现在我可以在时间文件夹中查看moment.js文件,该文件位于节点模块内。
在我的app.js文件中,我有这样的意思
'npm install moment --save'
但是如果搜索具有日期范围的内容它在控制台中显示错误。任何人都可以帮我怎么做..?
答案 0 :(得分:9)
目前,要使用ES6模块语法,您需要使用转换器,例如Babel,因为node.js和大多数浏览器还不支持ES6模块语法。
Babel和webpack非常适合这一点。 Here就是一个很好的例子:
正确配置后,您可以调用时刻:
import moment from 'moment';
console.log(moment.now());
答案 1 :(得分:6)
版本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
但是现在似乎没有办法只导入一部分函数,你必须导入整个函数。
答案 2 :(得分:1)
使用此librairie代替: https://github.com/urish/angular-moment
加载js文件:
<script src="components/moment/moment.js"></script>
<script src="components/angular-moment/angular-moment.js"></script>
在app控制器中注入力矩依赖关系:
var myapp = angular.module('myapp', ['angularMoment']);
答案 3 :(得分:1)
你写的代码不会工作。不是
//wont work
'import moment from moment'; this is wrong.
//this will work
import moment from 'moment';
or
import 'moment';
如果这些不起作用。然后尝试使用web-pack将时刻暴露给全局。
答案 4 :(得分:1)
这就是您要寻找的。
import moment from 'moment'
import it from 'moment/locale/it'
import { utc } from 'moment'
moment.locale('it')
您可以在此处阅读相关问题。 https://github.com/moment/moment/issues/2608
答案 5 :(得分:1)
对我有用的选项是:
import * as moment from 'moment';
答案 6 :(得分:0)
在这里,这有效:
import moment from 'moment';
window.moment = moment;