2015-12-29 3 views
1

Я пытаюсь получить библиотеку moment.js для работы с приложением Ember с помощью Ember-cli. Примечание. Я довольно новичок в ES2015.Использование moment.js с Ember, Ember-CLI

Ember 2.2.0 Ember-кли 1.13.13

мой уголек-кли-строить

/*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() 
}); 

Я всегда получаю сообщение об ошибке, что «момент» не определен. Я читал, что последний момент .js прекратил производить глобальный «момент», но я не уверен, что с этим делать.

Работы по сборке. Если я вытащил сгенерированный файл vendor.js, я могу увидеть полное содержимое файла moment.js в нем. Однако, когда я смотрю на vendor.js в хром-отладчике, содержимое опущено. Я не был уверен, что это связано с некоторой оптимизацией.

+0

Я не 100 % sure, но вы можете попробовать «import moment from» bower_components/moment/moment.js '; '. Если момент.js теперь использует ES6-модули, это должно работать. (И мне самому любопытно) – Jeff

+0

Я думаю, что вы ошиблись в своих глобальных ошибках, это должен быть '/ * глобальный момент * /', поэтому вы можете получать только предупреждения jshint – Bek

+0

просто для удовольствия Я попробовал @ предложение Джеффа, мне было любопытно, как хорошо ... это вызвало ошибку на маршруте Ошибка при обработке маршрута: index Не удалось найти модуль 'bower_components/moment/moment.js', импортированный из' es2015-test/controllers/application' Ошибка: не удалось найти модуль 'bower_components/момент/moment.js' импортирован из 'es2015-test/controllers/application' – hal9000

ответ

6

лучший способ установить moment.js в Ember приложение является использование ember moment addon после установки вы сможете использовать его в качестве

import moment from 'moment'; 

плюс вы получите различные helpers

+1

Оказалось, что я работал с этими настройками! ... проблема заключалась в том, что я делал изменения, пока работала «ember serve», и по какой-то причине она не собирала импорт. Мне пришлось полностью остановить сервер. Однако я думаю, что я буду отмечать это как ответ, так как его лучший способ пойти в любом случае. – hal9000

Смежные вопросы