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)
.....
Jqueryをまったくインポートしないことで問題を解決しました。 jQueryはEmber。$( link )から利用できます
そこで、Ember.$(...)
ではなく$(...)
を使用するようにコードを変更しました
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';
$は、jQueryの通常の使用と同様に、レンダリング/インスタンス化の後に利用可能になります。
JQueryを使用したい場合は、それ以外にEmberプレフィックスが必要です。
ハンドルバーは、Ember拡張バージョンですが、同様にEmber.Handlebarsとして利用できます。
このコードをJSファイルに追加して問題を解決しました
'ember'からjQueryをインポートします。
Ember/Ember-CLIの新しいバージョンでは、解体が可能で、ライブラリのインポートがはるかに簡単になっています。
import Ember from 'ember';
const { $, get, set } = Ember;
Jquery、getter、setterを取り込みます。