由于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)
.....
答案 0 :(得分:50)
我完全没有导入jquery解决了这个问题。 jQuery可以通过Ember。$(link)
获得所以我将代码更改为使用Ember.$(...)
而不是$(...)
答案 1 :(得分:5)
我将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';
答案 2 :(得分:2)
$ 变得可用,正如通常使用jQuery一样。
如果希望使用jQuery,则需要 Ember 前缀。
车把也可以作为Ember.Handlebars使用,尽管是Ember扩展版。
答案 3 :(得分:0)
我通过将此代码添加到我的JS文件
来解决了这个问题从' ember';
导入jQuery答案 4 :(得分:0)
较新版本的Ember / Ember-CLI允许进行解构,使导入库变得更加容易。
import Ember from 'ember';
const { $, get, set } = Ember;
会引入jquery,getter和setter。
答案 5 :(得分:0)
确保在已使用的应用程序/附件的@ember/jquery
中的dependencies
中列出了package.json
。它可能看起来像这样:
"@ember/jquery": "^1.1.0"
然后您可以继续使用jquery in the recommended way:
import $ from 'jquery';