Подтвердить что ты не робот

Импортировать jquery с ember-cli

Так как ember-cli 0.0.34 jquery удаляется из файла .jshint как предопределенный. Поэтому jquery необходимо импортировать, но при этом я получаю следующую ошибку:

import $ from 'jquery';

Ошибка, которую я получаю:

ENOENT, no such file or directory 'S:\...\tmp\tree_merger-tmp_dest_dir-Nb27WzDk.tmp\jquery.js'
Error: ENOENT, no such file or directory 'S:\...\tmp\tree_merger-tmp_dest_dir-Nb27WzDk.tmp\jquery.js'
    at Object.fs.statSync (fs.js:684:18)
    at addModule (S:\...\node_modules\ember-cli\node_modules\broccoli-es6-concatenator\index.js:81:46)
    .....
4b9b3361

Ответ 1

Я решил проблему, не импортируя jquery вообще. jQuery доступен через Ember. $(ссылка)

Итак, я изменил свой код, чтобы использовать Ember.$(...) вместо $(...)

Ответ 2

Я столкнулся с той же проблемой после обновления ember-cli до 0.0.34. Хотя в моем коде я все еще мог использовать $ (jQuery), JSHint продолжал метать ошибку:

project/views/blah.js: line 6, col 9, '$' is not defined.

Вы можете отредактировать свой .jshintrc и добавить $ обратно в predef.

{
  "predef": {
    // ...
    "$": true,
    // ...
  },
  // ...
}

Я бы предпочел использовать метод import.

Не уверен, что это поможет, но мне удалось найти файл во время сборки, используя приведенную ниже строку, но это вызвало некоторые проблемы в браузере:

import $ from 'vendor/jquery/dist/jquery';

Ответ 3

$ становится доступным после рендеринга/создания экземпляра в соответствии с обычным использованием jQuery.

Если jQuery желательно использовать иначе, требуется префикс Ember.

Ручки также доступны как Ember.Handlebars, хотя и расширенная версия Ember.

Ответ 4

Я решил проблему, добавив этот код в свой JS файл

импортировать jQuery из 'ember';

Ответ 5

Более новые версии Ember/Ember-CLI позволяют деструктурировать, что значительно упрощает импорт библиотек.

import Ember from 'ember';
const { $, get, set } = Ember;

Принесите jquery, getters и seters.