使用 Grunt 连接和丑化来自两个不同来源的 JS 文件

Concat and Uglify JS Files from Two Different Sources using Grunt

我有不同的 JS 文件集,我想对其进行连接和丑化。一种用于应用程序,一种用于网站。我的 gruntfile.js 看起来像下面的那个。问题是只有 website 一个运行,即使我已经将 grunt 任务注册为:grunt.registerTask('default', ['concat:app', 'concat:website', 'uglify']);

concat: {
    app: {
        js: {
            src: [
            'app/js/vendor/jquery.js',
            'app/js/app/ui.js',
            'app/js/app/data.js'
        ],
            dest: 'app/js/app.js'
        },
        css: {
            src: [
            'app/css/vendor/normalize.css',
            'app/css/vendor/ui.css',
            'app/css/vendor/style.css',
        ],
            dest: 'app/css/app.css'
        }
    },
    website: {
        src: [
            'app/js/vendor/jquery.js',
            'app/js/website/scripts.js'
        ],
        dest: 'app/js/common.js'
    }
},
uglify: {
    development: {
        options: {
            preserveComments: false
        },
        files: {
            'app/js/app.min.js': 'app/js/app.js',
            'app/js/common.min.js': 'app/js/common.js'
        }
    }
}

concat 可以在同一目标中连接多个文件和类型,但您必须使用正确的 grunt 语法(https://www.npmjs.com/package/grunt-contrib-concat#multiple-files-per-target):

concat: {
  app: {
    'app/js/app.js': [
        'app/js/vendor/jquery.js',
        'app/js/app/ui.js',
        'app/js/app/data.js'
    ],
    'app/css/app.css': [
        'app/css/vendor/normalize.css',
        'app/css/vendor/ui.css',
        'app/css/vendor/style.css',
    ],
  }
},