Da ember-cli 0.0.34 jquery als vordefinierte Datei aus der .jshint-Datei entfernt wird. Jquery muss also importiert werden. Ich erhalte jedoch die folgende Fehlermeldung:
import $ from 'jquery';
Der Fehler, den ich erhalte, ist:
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)
.....
Ich habe das Problem gelöst, indem ich Jquery überhaupt nicht importierte. jQuery ist über Ember verfügbar. $ ( link )
Also habe ich meinen Code geändert, um Ember.$(...)
anstelle von $(...)
zu verwenden.
Nachdem ich ember-cli
auf 0.0.34 aktualisiert habe, ist das gleiche Problem aufgetreten. Obwohl ich noch $
(jQuery) in meinem Code verwenden konnte, warf JSHint den Fehler weiter:
project/views/blah.js: line 6, col 9, '$' is not defined.
Sie können Ihren .jshintrc
bearbeiten und $
wieder zu predef
hinzufügen.
{
"predef": {
// ...
"$": true,
// ...
},
// ...
}
Würde definitiv eine Methode bevorzugen, die import
verwendet.
Ich bin nicht sicher, ob dies hilfreich sein wird, aber ich konnte die Datei während der Erstellung mithilfe der folgenden Zeile finden. Dies führte jedoch zu Problemen im Browser:
import $ from 'vendor/jquery/dist/jquery';
$ wird nach dem Rendern/Instantiieren wie üblich von jQuery verfügbar.
Wenn jQuery verwendet werden soll, ist ansonsten das Präfix Ember erforderlich.
Lenker gibt es ebenfalls als Ember.Handlebars, allerdings in der erweiterten Version von Ember.
Ich habe das Problem gelöst, indem ich diesen Code meiner JS-Datei hinzugefügt habe
jQuery aus 'ember' importieren;
Neuere Versionen von Ember/Ember-CLI ermöglichen die Zerstörung, was den Import von Bibliotheken erheblich vereinfacht.
import Ember from 'ember';
const { $, get, set } = Ember;
Würde JQuery, Getter und Setter bringen.