ember-cli 0.0.37 импортирует новый синтаксис и ember-data

#ember.js #ember-data #ember-cli

#ember.js #ember-data #ember-cli

Вопрос:

Я недавно обновился с ember-cli 0.0.36 до 0.0.37 и не могу импортировать ember-data. Несмотря на кажущуюся простоту, у меня это не работает. В Brocfile.js старый импорт был

 app.import({
    development: 'vendor/ember-data/ember-data.js',
    production: 'vendor/ember-data/ember-data.prod.js'
});
  

Это было изменено для соответствия новому синтаксису:

 app.import('vendor/ember-data/ember-data.js', { exports: { ember: ['default'] } });
  

однако я получаю следующую ошибку:

app.import(vendor/ember-data/ember-data.js) - Passing modules object is deprecated. Please pass an option object with modules as export key (see http://git.io/H1GsPw for more info).

Я не уверен, как поступить с этим, поэтому любая помощь очень ценится.

Новый синтаксис подробно описан здесь

Ответ №1:

Как упоминалось в устаревшем сообщении, это новый синтаксис.

 app.import({
   development: 'vendor/ember-data/ember-data.js',
   production:  'vendor/ember-data/ember-data.prod.js'
}, {
   exports: {
       'ember-data': ['default']
      }
    });
  

Комментарии:

1. Я изменил свой импорт на этот синтаксис, но ошибка времени сборки, связанная с передачей объекта modules, не исчезает!

Ответ №2:

Это сообщение об ошибке было результатом остатков старой прокладки ember-cli-ember-data, которая была установлена на версию 0.0.4 в файле package.json. Я изменил его на 0.1.0, который является последним на момент написания этой статьи, удалил (deleted) старый каталог ember-cli-ember-data из каталога пакета node_modules и перезапустил npm install . Это привело к исчезновению предупреждающего сообщения.