[英]How to move bower dependencies into place
我有一個基於HTML的項目,並且正在使用bower.json
將所有依賴項放在一起:
{
"name": "MyProject",
"version": "0.1",
"main": "index.html",
"dependencies": {
"modernizr": "2.8.3",
"classie": "1.0.1",
"jquery": "2.1.1",
"font-awesome": "4.2"
}
}
整個過程都在git中,我不想簽入bower_components
目錄。 因此,我想使用某種腳本機制將庫移動到我的項目中。
情況:
我要具有以下目錄結構:
- index.html
- 的CSS
- main.css
- js
- main.js
- LIB
- js
- jQuery的
- jquery.min.js
- 的CSS
- jQuery的用戶界面
- jquery-ui.min.css
- 的字體
- ...
一些庫不僅具有.js
文件,而且還具有CSS和字體文件
更新資料
我總結了一個基於rake腳本的方法(請參閱下文 )。 但我想知道,是否有基於Javascript / NodeJS的更優雅的方法
.gitignore
文件會更容易嗎?
我認為如果您使用git ignore來避免bower_components和node_modules也可以。 但是您需要的是.bowerrc
文件,其中包括:
{
"directory": "app/libs"
}
使用該路由,您可以指定目標文件夾。
和你的bower.json
{
"name" : "test",
"version": "0.1",
"dependencies" : {
"jquery-ui" : "latest"
},
"install" : {
"path" : {
"css": "src/css",
"js": "src/js"
},
"sources" : {
"jquery-ui" : [
"components/jquery-ui/ui/jquery-ui.custom.js",
"components/jquery-ui/themes/start/jquery-ui.css"
]
}
}
}
或者也可以使用諸如grunt或gulp的任務運行器
我提出了以下基於Rake腳本的解決方案:
desc 'Copy the bower libs to the projects sources'
task :copy_libs do
js_lib = 'js/lib'
`rm -fr #{js_lib}`
`mkdir -p #{js_lib}`
libraries = {
js: [
'jquery/dist/jquery.min.js',
'jquery/dist/jquery.min.map',
'modernizr/modernizr.js',
'classie/classie.js'
],
css: [
'font-awesome/css/font-awesome.min.css'
],
fonts: [
'font-awesome/fonts/fontawesome-webfont.woff',
'font-awesome/fonts/fontawesome-webfont.ttf',
'font-awesome/fonts/fontawesome-webfont.svg',
]
}
bower = 'bower_components'
libraries.each do |type,libs|
`mkdir -p lib/#{type}`
libs.each do |lib|
`cp #{bower}/#{lib} lib/#{type}/`
end
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.