29

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)
    .....
4

6 に答える 6

50

jqueryをまったくインポートしないことで問題を解決しました。jQuery は Ember.$ (リンク)から入手できます。

だから私は自分のコードをEmber.$(...)代わりに使用するように変更しました$(...)

于 2014-06-16T06:13:10.460 に答える
5

ember-cli0.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';

于 2014-06-15T01:46:25.583 に答える
2

$は、jQuery の通常の使用法と同様に、レンダリング/インスタンス化後に使用可能になります。

jQuery を使用する場合は、Emberプレフィックスが必要です。

Ember 拡張バージョンではありますが、Ember.Handlebars としてハンドルバーも同様に利用できます。

于 2014-09-11T05:24:35.997 に答える
0

Ember/Ember-CLI の新しいバージョンでは分解が可能で、ライブラリのインポートがはるかに簡単になります。

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

jquery、ゲッター、セッターを導入します。

于 2015-09-23T22:58:11.380 に答える