第一次使用这个任务,我尝试实现的目标如下:
将所有目录/文件从src/js/bower_components/*
复制到build/assets/js/vendor/
我尝试过使用cwd
属性,但使用它时根本不起作用。我将其设置为:src/js/bower_components/
从源
.
├── Gruntfile
└── src
└── js
└── bower_components
└── jquery
我现在得到:
.
├── Gruntfile
└── build
└── assets
└── js
└── vendor
src
└── js
└── bower_components
└── jquery
我想要的是
.
├── Gruntfile
└── build
└── assets
└── js
└── vendor
└──jquery
这是我目前的任务
copy: {
main: {
src: 'src/js/bower_components/*',
dest: 'build/assets/js/vendor/',
expand: true,
}
},
谢谢你的帮助
发布于 2014-03-28 06:45:07
我已经用tree设置了一个示例项目,如下所示:
.
├── Gruntfile.js
├── package.json
└── src
└── js
└── foo.js
使用下面的Gruntfile文件:
module.exports = function(grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
copy : {
foo : {
files : [
{
expand : true,
dest : 'dist',
cwd : 'src',
src : [
'**/*.js'
]
}
]
}
}
});
grunt.registerTask('build', function(target) {
grunt.task.run('copy');
});
};
这给了我这样的结构:
.
├── Gruntfile.js
├── dist
│ └── js
│ └── foo.js
├── package.json
└── src
└── js
└── foo.js
当我将cwd
更改为Gruntfile文件时:
module.exports = function(grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
copy : {
foo : {
files : [
{
expand : true,
dest : 'dist',
cwd : 'src/js',
src : [
'**/*.js'
]
}
]
}
}
});
grunt.registerTask('build', function(target) {
grunt.task.run('copy');
});
};
我得到了这个dir结构:
.
├── Gruntfile.js
├── dist
│ └── foo.js
├── package.json
└── src
└── js
└── foo.js
所以看起来cwd
做了你需要的事情。也许您在将cwd
设置为src/js/bower_components
时将src
留在了src/js/bower_components/*
上?在这种情况下,src
应该读取类似**/*.js
的内容,但这取决于您真正需要的内容。
https://stackoverflow.com/questions/22697919
复制相似问题