javascript - 压缩 JS 文件时出现有趣的错误 - 尝试将文件夹读取为 JS 文件

标签 javascript gruntjs grunt-contrib-uglify grunt-contrib-cssmin

我有一个循环遍历目录和子目录并压缩 JS 和 CSS 文件的 Grunt 任务。

我收到以下错误,这意味着它无意中认为 less.js 文件夹是一个 JavaScript 文件。我想知道是否可以配置该正则表达式(通配符)以跳过名称为 less.js 的目录。

enter image description here

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 的任何文件夹,方法是将此规则添加到您的文件中:

!*.js/

关于javascript - 压缩 JS 文件时出现有趣的错误 - 尝试将文件夹读取为 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31459195/

相关文章:

javascript - 我如何使用 Grunt 自动引用 HTML 中的新(缩小和连接)JavaScript 文件?

javascript - Grunt Uglify 最后一行的奇怪字符导致没有任何变化

javascript - 了解 hashchange 事件的发起者

javascript - 禁用除最后一个以外的所有先前复选框,启用其他复选框时启用前面的复选框

javascript - 如何将嵌套 if 用于多个选择选项?

node.js - heroku -- npm postinstall 脚本根据 enviro 运行 grunt 任务

javascript - GruntJS 链表

javascript - 在 javascript 中使用 Selenium Driver 获取 WebElement 文本内容

javascript - 在 Grunt 运行时,收到 : "no "uglify"targets found

javascript - 保留 'debugger' 关键字 grunt uglify