Ember.js 将moment.js与Ember、Ember CLI一起使用

Ember.js 将moment.js与Ember、Ember CLI一起使用,ember.js,ember-cli,Ember.js,Ember Cli,我一直在尝试使用Ember cli使moment.js库与Ember应用程序一起工作。注:我对ES2015相当陌生 余烬2.2.0 Ember cli 1.13.13 我的余烬cli构建 /*jshint node:true*/ /* global require, module */ var EmberApp = require('ember-cli/lib/broccoli/ember-app'); module.exports = function(defaults) { var

我一直在尝试使用Ember cli使moment.js库与Ember应用程序一起工作。注:我对ES2015相当陌生

余烬2.2.0 Ember cli 1.13.13

我的余烬cli构建

/*jshint node:true*/
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function(defaults) {
    var app = new EmberApp(defaults, {
        //options
    });

    app.import('bower_components/moment/moment.js');

    return app.toTree();
};
还有我的.jshintrc

"predef": [
    "document",
    "window",
    "-Promise",
      "moment"
  ],
还有我的控制器

/* global moment:true */
import Ember from 'ember';

export default Ember.Controller.extend({
    firstName: null,
    lastName: null,
    day: function () {
        return moment('Dec 25, 1995');
    }.property()
});
我总是会遇到一个错误,“时刻”没有定义。我读到最近的moment.js已经停止制作一个全球“时刻”,但我不知道该怎么办


构建工作。如果我调出生成的vendor.js,我可以在其中看到moment.js文件的完整内容。然而,当我在chrome调试器中查看vendor.js时,内容被省略了。我不确定这是否是由于一些优化。

在ember应用程序中安装
矩.js
的最佳方法是使用 安装后,您可以将其用作

import moment from 'moment';

另外,您将获得各种
帮助程序

我不是100%确定,但您可以尝试从'bower_components/moment/moment.js'导入力矩。如果moment.js现在使用ES6模块,这应该可以工作。(我自己也很好奇)我想你的环球演讲是错的,应该是
/*global moment*/
,所以你可能会得到jshint警告只是为了好玩我试过@Jeff的建议,我也很好奇。。。这在处理路由时在路由错误上产生了一个错误:索引找不到从
es2015测试/控制器/应用程序导入的模块
bower_组件/moment/moment.js
。错误:找不到从
es2015测试/控制器/应用程序导入的模块
bower_组件/moment/moment.js
结果是我让它工作了。。记录在案的是/*全局时刻/和/全局时刻:true*/工作。事实证明,我让它与这些设置一起工作!。。。问题是,我在“余烬服务”运行时一直在进行更改,由于某种原因,它无法获取导入。我必须完全停止服务器。然而,我想我会把这作为一个答案,因为这是一个更好的方式去无论如何。