使用Grunt代码和文件夹结构,如下所示,当我运行grunt uglify
时,结果是输出在\js\src
文件夹中创建子文件夹结构\min
,其中最深的文件夹(src
)将包含缩小的文件。但我希望在\min
文件夹根目录中创建缩小的文件。
如果我将dest
参数值设置为空:``,则会在与src
文件夹相同的文件夹中创建文件。
如果我将dest
参数值设置为:/
或/js/min
或/js/min/
,则不会创建任何内容。
如何直接在min
文件夹的根目录中生成缩小文件?
module.exports = function(grunt){ // 1
grunt.initConfig({
uglify: {
my_target: {
files: [{
expand: true,
src: 'js/src/*.js',
dest: 'js/min/',
ext : '.min.js',
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify'); //https://www.npmjs.com/package/grunt-contrib-uglify
grunt.registerTask('default', function() { // 4
grunt.log.writeln('Hello, from the default grunt task!'); // 5
});
}
答案 0 :(得分:2)
Grunt文档包含有关building the files object dynamically.
的相关部分特别感兴趣的是“cwd”属性:
所有src匹配都相对于(但不包括)此路径。
这将允许我们通过将其设置为“cwd”的值来从我们的“src”值中删除不需要的路径。这意味着生成的源文件路径在添加到/ js / min文件夹时不会具有不需要的前缀(“/ js / src /”)。
我们生成的Grunt文件如下所示:
module.exports = function (grunt) {
grunt.initConfig({
uglify: {
my_target: {
files: [{
expand: true,
cwd: 'js/src/',
src: '*.js',
dest: 'js/min/',
ext : '.min.js',
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('default', ['uglify']);
};