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

Using Grunt to concat multiple js files but want them split?

我是 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'
        }
    },
});

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

您可以设置单独的任务以在您 运行 g运行t 时执行。每个任务将连接不同的来源。

来自grunt-contrib-concat:

In this example, running grunt concat will build two separate files. One "basic" version, with the main file essentially just copied to dist/basic.js, and another "with_extras" concatenated version written to 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',
    },
  },
});

之后您需要使用 grunt-contrib-uglify 插件来缩小 g运行t-concat 的输出文件。