使用Grunt合并和压缩来自两个不同来源的JS文件

3

我有不同的JS文件集,想要将它们合并并进行代码压缩。其中一个是为应用程序准备的,另一个是为网站准备的。我的gruntfile.js看起来像下面这样。问题在于,尽管我已经注册了grunt.registerTask('default', ['concat:app', 'concat:website', 'uglify']);任务,但只有website这个任务会运行。

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'
        }
    }
}

жҲ‘и§үеҫ—й—®йўҳеңЁдәҺappдёӯеҗҢж—¶иҝһжҺҘдәҶCSSе’ҢJSж–Ү件гҖӮжҲ‘移йҷӨдәҶCSSйғЁеҲҶпјҢ然еҗҺе®ғе°ұжӯЈеёёиҝҗиЎҢдәҶгҖӮ - kaoscify
1个回答

1
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',
    ],
  }
},

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接