我已将moment.js导入到我的项目中,它似乎在我的控制器中工作得很好但是由于某种原因它在我的路线中不起作用。
控制器:
// controllers/users.js
import Ember from 'ember';
export default Ember.Controller.extend({
date: function() {
alert(moment().format('X'));
}.property()
...
});
路线:
// routes/users.js
// (Error: /routes/users.js: line 5, col 29, 'moment' is not defined.
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
var data = { start: moment().startOf('month').startOf('day').format('X') };
return this.store.find('event', data);
}
});
Brocfile:
var app = new EmberApp();
app.import('vendor/moment/moment.js');
答案 0 :(得分:4)
我猜这是一个JsHint错误。您可能希望在路线代码中添加以下注释。
/* global moment:true */
import Ember from "ember";
....
答案 1 :(得分:2)
另外(来自ember-cli documentation):
如果要使用写入全局命名空间的外部库(例如moment.js),则需要将它们添加到项目的
predef
文件的.jshintrc
部分,并将其值设置为真正。如果在测试中使用lib,则需要将其添加到tests/.jshintrc
文件中。
然后你不必对使用moment.js的每个文件都这样做。