【问题标题】:Getting interesting error when compressing the JS files - trying to read a folder as JS file压缩 JS 文件时出现有趣的错误 - 尝试将文件夹读取为 JS 文件
【发布时间】: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


【解决方案1】:

您可以决定忽略文件夹名称中包含.js 的任何文件夹,方法是将此规则添加到您的文件中:

!*.js/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多