seb*_*kem 15 jquery gruntjs bower
这真让我抓狂.到目前为止,Bower + Grunt(来自Yeoman)一直是挫败感和浪费时间的主要原因.我想要的只是我的应用程序使用最新的(2.1.0)版本的jquery.
bower list 正确报告jquery 2.1.0作为官方更新.
我跑去bower install --save jquery更新到最后一个版本,它做到了.
该bower list命令现在正确地报告jquery#2.1.0为依赖项,并且该bower.json文件现在正确地将所需版本的jquery列为依赖项:
{
"name": "xxx",
"version": "0.0.0",
"dependencies": {
...
"angular": "1.2.13",
"jquery": "~2.1.0",
"sizzle": "1.10.16",
"bootstrap": "~3.0.3",
...
Run Code Online (Sandbox Code Playgroud)
但是我每次运行时grunt build或grunt serve在<script src="bower_components/jquery/dist/jquery.js"></script>列表中被删除从index.html,防止整个应用程序正常工作.
#> grunt serve
Running "serve" task
Running "clean:server" (clean) task
Cleaning .tmp...OK
Running "bower-install:app" (bower-install) task
jquery was not injected in your file.
Please go take a look in "app/bower_components/jquery" for the file you need, then manually include it in your file.
Running "concurrent:server" (concurrent) task
...
Run Code Online (Sandbox Code Playgroud)
手动添加它并不能解决任何问题.我完全卡住了.肯定会有一些我做错的事情,但是我一直在敲打我的头很长一段时间而完全没有效率.谢谢.
Ste*_*hen 22
这里有一个很长的答案,但我只有时间做一个简短的答案,我想我也可以给它而不是什么!
bower-install是一个依赖于Bower包正确指定其main内部属性的任务bower.json.最近的一些东西继续使用jQuery Bower包,它不再指定这个属性.没有,grunt-bower-install不能帮助太多.
解决方案是<!-- bower:js --><!-- endbower -->在HTML中手动包含对块外部的jQuery的引用.
抱歉沮丧.希望jQuery很快就会修复它的bower.json.
Mik*_*ith 16
这里有一个更好的解决方案,它不会强迫您将脚本标签从其他凉亭组件移开.您可以使用一个overrides部分(可在https://github.com/ajaxorg/ace-builds/issues/20上找到)
将以下部分添加到项目中 bower.json
...
"overrides": {
"jquery": {
"main": "dist/jquery.js"
}
}
Run Code Online (Sandbox Code Playgroud)