我需要一种方法来定义bower组件所需的文件。在组件的bower.json
中,我需要的文件未在main
设置中指定。我想要一种方法来将文件符号链接或复制到bower的另一个目录资产目录中。我使用Grunt,但我找不到任何有用的东西。我喜欢某种方式,我可以通过json
定义所有文件。
道歉,如果这不完全是stackoverflow值得的,但我真的很想找到存在的东西,而不是重新发明轮子。
我发现此代码here,我不知道如何使用它。这将是理想的。
"dependencies": {
"font-awesome": ">= 3.2.1"
},
"overrides": {
"font-awesome": {
"main": [
"css/font-awesome.min.css",
"font/FontAwesome.otf",
"font/fontawesome-webfont.eot",
"font/fontawesome-webfont.svg",
"font/fontawesome-webfont.ttf",
"font/fontawesome-webfont.woff"
]
}
}
答案 0 :(得分:10)
我亲自做的事情&建议在项目根目录中创建一个.bowerrc
文件,其中包含移动资产的postinstall
说明:
{
"scripts": {
"postinstall": "mv ./bower_components/path/to/my.js ./path/to/ideal/location/my.js"
}
}
答案 1 :(得分:4)
看看grunt-bower-task。文档建议使用高级用法:
此时“Bower package”=“它的git存储库”。它的意思是 该套餐包括测试,许可证等.Bower的社区积极参与 讨论了这个问题(GitHub发布#46,#88,在Google网上论坛上)就是这样 为什么你可以找到像blittle / bower-installer这样的工具 启发了这个项目。
好的,如果你想在./lib目录中找到“main”以外的文件,那就放了 “exportsOverride”部分进入你的bower.json:
{ "name": "simple-bower", "version": "0.0.0", "dependencies": { "jquery": "~1.8.3", "bootstrap-sass": "*", "requirejs": "*" }, "exportsOverride": { "bootstrap-sass": { "js": "js/*.js", "scss": "lib/*.scss", "img": "img/*.png" }, "requirejs": { "js": "require.js" } } }
grunt-bower-task将完成其余任务。
答案 2 :(得分:2)
我一直在使用bower-installer
成功,这可能是那些不使用Grunt的人感兴趣的。
Font Awesome需要额外的摔跤,因为CSS文件使用相对路径(例如../fonts/
)。
{
"dependencies": {
...
},
"install": {
"path": "webroot/components",
"sources": {
"font-awesome": {
"mapping": [
{"bower_components/font-awesome/css/font-awesome.css": "font-awesome.css"},
{"bower_components/font-awesome/fonts/fontawesome-webfont.eot": "../fonts/fontawesome-webfont.eot"},
{"bower_components/font-awesome/fonts/fontawesome-webfont.svg": "../fonts/fontawesome-webfont.svg"},
{"bower_components/font-awesome/fonts/fontawesome-webfont.ttf": "../fonts/fontawesome-webfont.ttf"},
{"bower_components/font-awesome/fonts/fontawesome-webfont.woff": "../fonts/fontawesome-webfont.woff"},
{"bower_components/font-awesome/fonts/FontAwesome.otf": "../fonts/FontAwesome.otf"}
]
}
}
}
}