[英]Bower throws jquery “not injected” warning after running grunt serve
我最近不得不克隆一个项目并重建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.
如何删除此错误? 并且这会导致一个笨拙的构建错误吗? 我确信这个警告是无害的,但是看到它真的很难过。
主要.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"
}
您可以解决此问题,更改项目的bower.json并覆盖一些有问题的包
"overrides": {
"jquery": {
"main": "./dist/jquery.js"
}
}
您可以在https://github.com/bower/bower/issues/585中了解更多信息
但是,看起来当前版本的JQuery正在玩Bower规则。
正如在此处提供的相关Github问题所述: https : //github.com/stephenplusplus/grunt-bower-install/issues/55
这不是grunt-bower-install的错误 - 遗憾的是,jQuery没有遵循Bower的规则。 此工具无法使用未指定main属性的Bower包。 像任何其他没有的软件包一样,解决方案是手动包含对HTML文件内部文件的引用,就像好日子一样
我很抱歉,我刚才有同样的问题:(
通常,如果您收到此错误,那是因为您使用的任何bower组件的作者未在组件中包含bower.json文件或未在bower.json文件夹中定义“main”属性。 如果正在主动维护组件,则应该打开github问题,要求在组件中使用正确的bower.json文件。 这是一个现实世界的例子......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.