【问题标题】:Ember CLI - Error when using moment.js in routeEmber CLI - 在路由中使用 moment.js 时出错
【发布时间】:2014-07-16 03:03:05
【问题描述】:

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

【问题讨论】:

    标签: ember.js ember-cli


    【解决方案1】:

    我猜这是一个 JsHint 错误。您可能需要将以下注释添加到您的路线代码中。

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

    【讨论】:

      【解决方案2】:

      另外(来自ember-cli documentation):

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

      那么您不必对使用 moment.js 的每个文件都这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-10
        相关资源
        最近更新 更多