【发布时间】:2015-07-17 21:39:40
【问题描述】:
我有一个 Grunt 任务,它遍历目录和子目录并压缩 JS 和 CSS 文件。
我收到以下错误,这意味着它不小心认为less.js 文件夹是一个 JavaScript 文件。我想知道是否可以配置该正则表达式(通配符)以跳过名称为 less.js 的目录。
module.exports = function(grunt) {
grunt.initConfig({
uglify: {
options: {
mangle: false
},
files: {
expand: true,
flatten: false,
cwd: "script",
src: ["**/*.js", "**/!*.min.js"],
dest: "release/script",
ext: ".js"
}
}, cssmin: {
target: {
files: [{
expand: true,
flatten: false,
cwd: "style",
src: ["**/*.css", "**/!*.min.css"],
dest: "release/style",
ext: ".css"
}]
}
}
});
grunt.loadNpmTasks("grunt-contrib-cssmin");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.registerTask("default", ["uglify", "cssmin"]);
};
【问题讨论】:
-
不会添加
"!*.js/"工作吗?这就是我会尝试的。 -
EISDIR表示操作的目标实际上是一个目录,但目标的预期文件类型不是目录。看起来less.js是一个文件夹... -
@somethinghere 这是一个聪明的解决方案。谢谢。
-
您也可以使用过滤器。看看第二个例子,你应该可以修改它:gruntjs.com/configuring-tasks#custom-filter-function
-
@alpha 有时简单是关键:)
标签: javascript gruntjs grunt-contrib-uglify grunt-contrib-cssmin