我正在使用grunt,并且我想在创建生产发行版时复制我的bower依赖项
这些依赖项已存在于./component中
我生成了一个包含index.html的生产目录,并且只想从bower.json文件中复制依赖项。
我认为这和从deps生成一个列表一样简单:
prodComponents = Object.keys(grunt.file.readJSON('./bower.json').dependencies)(它从一个简单的console.log(prodComponents)生成)
[ 'requirejs',
'requirejs-text',
'jquery',
'underscore-amd',
'backbone-amd',
'backbone.wreqr',
'backbone.babysitter',
'marionette' ]然后简单地复制匹配的文件:
copy:
deps:
files: [
expand: true
cwd: './components'
src: ['./<%= prodComponents %>/*']
dest: './dev/components'
]这是可行的,但会复制所有组件。例如,我的文件规范失败了
Running "copy:deps" (copy) task
Created 15 directories如果我删除./,那么它将失败,并显示:
Warning: Unable to read "components/Applications" file (Error code: ENOENT). Use --force to continue.我不禁认为我要么太聪明了,要么就快到这一步了。
我在文件规范的规范中做错了什么?
谢谢
发布于 2013-06-27 03:50:24
我想你已经很接近了。我会将应用了全局模式的目录保存到prodComponents中
prodComponents = Object.keys(grunt.file.readJSON('./bower.json').dependencies).map(
function(prodComponent) {
return prodComponent + "/**/*";
}
);因此,prodComponents将包含:
["requirejs/**/*",
"requirejs-text/**/*",
"jquery/**/*",
"underscore-amd/**/*",
"backbone-amd/**/*",
"backbone.wreqr/**/*",
"backbone.babysitter/**/*",
"marionette/**/*" ]copy配置为:
copy:
deps:
files: [
expand: true
cwd: 'components'
src: '<%= prodComponents %>'
dest: 'dev/components'
]请注意,为了能够以这种方式在模板中使用prodComponents,需要在grunt config中对其进行设置。
https://stackoverflow.com/questions/17324249
复制相似问题