Depuis ember-cli 0.0.34, jquery est supprimé du fichier .jshint comme prédéfini . Donc, jquery doit être importé, mais l'erreur suivante s'affiche:
import $ from 'jquery';
L'erreur que je reçois est:
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)
.....
J'ai résolu le problème en n'important pas du tout jquery. jQuery est disponible via Ember. $ ( link )
J'ai donc changé mon code pour utiliser Ember.$(...)
au lieu de $(...)
J'ai rencontré le même problème après avoir mis à jour ember-cli
à 0.0.34. Même si je pouvais toujours utiliser $
(jQuery) dans mon code, JSHint continuait à lancer l'erreur:
project/views/blah.js: line 6, col 9, '$' is not defined.
Vous pouvez éditer votre .jshintrc
et ajouter $
à predef
.
{
"predef": {
// ...
"$": true,
// ...
},
// ...
}
Préférerait certainement une méthode utilisant import
aussi.
Je ne suis pas sûr que cela puisse vous aider, mais j'ai pu localiser le fichier pendant la construction en utilisant la ligne ci-dessous, mais cela a causé des problèmes dans le navigateur:
import $ from 'vendor/jquery/dist/jquery';
$ devient disponible après le rendu/l'instanciation, conformément à l'utilisation habituelle de jQuery.
Si vous souhaitez utiliser jQuery, le préfixe Ember est requis.
Le guidon est également disponible sous le nom Ember.Handlebars, bien que la version étendue Ember.
J'ai résolu le problème en ajoutant ce code à mon fichier JS
importer jQuery de 'ember';
Les versions plus récentes de Ember/Ember-CLI permettent la déstructuration, ce qui facilite considérablement l’importation de bibliothèques.
import Ember from 'ember';
const { $, get, set } = Ember;
Apporterait dans jQuery, Getters et setters.