web-dev-qa-db-ja.com

ember-cliでjqueryをインポートする

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)
    .....
29
Willem de Wit

Jqueryをまったくインポートしないことで問題を解決しました。 jQueryはEmber。$( link )から利用できます

そこで、Ember.$(...)ではなく$(...)を使用するようにコードを変更しました

50
Willem de Wit

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';

5
rog

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

JQueryを使用したい場合は、それ以外にEmberプレフィックスが必要です。

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

2
greg.arnott

このコードをJSファイルに追加して問題を解決しました

'ember'からjQueryをインポートします。

0
SeifBh

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

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

Jquery、getter、setterを取り込みます。

0
sbatson5