使用Grunt连接多个js文件,但希望它们分开?

Gil*_*rdo 4 javascript node.js angularjs gruntjs grunt-contrib-concat

我是新来的grunt(今天安装它并使用它)和它的伟大,但我无法解决一些问题.

我有一个angularJs项目,我想将我的所有javascript文件整合为3个文件.

所以我会

"base" - 插件的所有供应商javascript文件等

"app" - 所有用户使用的所有控制器等

"admin" - 所有使用的控制器等,但只有管理员才能访问过

现在我已经安装了grunt并设置了我的concat任务,但是我怎么能有多个dest和src属性?

grunt文件的示例

grunt.initConfig({
    // Metadata
    pkg: grunt.file.readJSON('package.json'),
    concat: {
        options: {
            stripBanners: true
        },
        dist: {
            src: ['Scripts/jquery-*.js', '!Scripts/jquery-*.min.*', '!Scripts/jquery-*.intellisense.*', 'Scripts/bootstrap.js', 'Scripts/respond.js', 'js/**/*.js'],
            dest: 'dist/app.js'
        },
        distCss: {
            src: ['Content/bootstrap.css', 'Content/site.css'],
            dest: 'dist/app.css'
        }
    },
});
Run Code Online (Sandbox Code Playgroud)

一旦我弄明白这一点,我可以有多个ugilify属性来ugilify创建的每个js文件?

Nit*_*eli 6

您可以设置单独的任务,以便在您运行咕噜声时执行.每个任务将连接不同的来源.

来自grunt-contrib-concat:

在此示例中,运行grunt concat将构建两个单独的文件.一个"基本"版本,主文件基本上只复制到dist/basic.js,另一个"with_extras"连接版本写入dist/with_extras.js.

grunt.initConfig({
  concat: {
    basic: {
      src: ['src/main.js'],
      dest: 'dist/basic.js',
    },
    extras: {
      src: ['src/main.js', 'src/extras.js'],
      dest: 'dist/with_extras.js',
    },
  },
});
Run Code Online (Sandbox Code Playgroud)

之后你需要使用grunt-contrib-uglify插件来缩小grunt-concat的输出文件.