我最近不得不克隆一个项目并重建bower包。我相信jQuery已更新,现在正在发出警告:
警告:
Please go take a look in "app/bower_components/jquery"
for the file you need, then manually include it in your file.
我已经完成了这件事。并且每个标志都正常工作。但是,每当我grunt serve
警告仍然被抛出?
jquery was not injected in your file.
如何删除此错误?并且这会导致一个笨拙的构建错误吗?我确定这个警告是无害的,但是看到它真的很难过。
main .bower.json
{
"name": "jordan",
"version": "0.0.0",
"dependencies": {
"angular": "1.2.6",
"json3": "~3.2.6",
"es5-shim": "~2.1.0",
"angular-resource": "1.2.6",
"angular-cookies": "1.2.6",
"angular-sanitize": "1.2.6",
"angular-route": "1.2.6",
"jquery-ui": "~1.10.3"
},
"devDependencies": {
"angular-mocks": "1.2.6",
"angular-scenario": "1.2.6"
}
}
.bower.json for jquery
{
"name": "jquery",
"version": "2.1.0",
"ignore": [
"**/.*",
"build",
"speed",
"test",
"*.md",
"AUTHORS.txt",
"Gruntfile.js",
"package.json",
"bower.json"
],
"dependencies": {
"sizzle": "1.10.16"
},
"devDependencies": {
"requirejs": "~2.1.8",
"qunit": "~1.12.0",
"sinon": "~1.7.3"
},
"keywords": [
"jquery",
"javascript",
"library"
],
"homepage": "https://github.com/jquery/jquery",
"_release": "2.1.0",
"_resolution": {
"type": "version",
"tag": "2.1.0",
"commit": "cac43f3ef791b7e68c1917a734fb92e04450c111"
},
"_source": "git://github.com/jquery/jquery.git",
"_target": ">=1.6",
"_originalSource": "jquery"
}
答案 0 :(得分:12)
您可以解决此问题,更改项目的bower.json并覆盖一些包含问题的包
"overrides": {
"jquery": {
"main": "./dist/jquery.js"
}
}
您可以在https://github.com/bower/bower/issues/585
中详细了解相关信息但是,看起来当前版本的JQuery正在玩Bower规则。
答案 1 :(得分:4)
正如有关Github相关问题的解释: https://github.com/stephenplusplus/grunt-bower-install/issues/55
这不是grunt-bower-install的错误 - 遗憾的是,jQuery没有遵循Bower的规则。此工具无法使用未指定主要属性的Bower程序包。与其他任何不包含的软件包一样,解决方案是手动在HTML文件中包含对文件的引用,例如好的文件。天
对不起,我刚才遇到同样的问题:(
答案 2 :(得分:0)
一般情况下,如果您收到此错误,那是因为您使用的任何bower组件的作者都没有在组件中包含bower.json文件或者没有定义"主" bower.json文件夹中的属性。如果正在主动维护组件,则应该打开github问题,要求在组件中使用正确的bower.json文件。这是一个真实世界的例子......