Ember CLI - 在路线中使用moment.js时出错

时间:2014-07-16 03:03:06

标签: ember.js ember-cli

我已将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');

2 个答案:

答案 0 :(得分:4)

我猜这是一个JsHint错误。您可能希望在路线代码中添加以下注释。

/* global moment:true */
import Ember from "ember";
....

答案 1 :(得分:2)

另外(来自ember-cli documentation):

  

如果要使用写入全局命名空间的外部库(例如moment.js),则需要将它们添加到项目的predef文件的.jshintrc部分,并将其值设置为真正。如果在测试中使用lib,则需要将其添加到tests/.jshintrc文件中。

然后你不必对使用moment.js的每个文件都这样做。