【问题标题】:Using Grunt to concat multiple js files but want them split?使用 Grunt 连接多个 js 文件但希望将它们拆分?
【发布时间】:2015-03-11 05:59:27
【问题描述】:

我是 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 文件?

【问题讨论】:

    标签: javascript angularjs node.js gruntjs grunt-contrib-concat


    【解决方案1】:

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

    来自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',
        },
      },
    });
    

    之后,您需要使用grunt-contrib-uglify 插件来缩小来自 grunt-concat 的输出文件。

    【讨论】:

    • 字面上只是想通了。本来想删帖的,但你事先回答了。谢谢
    • 如何为多个 extras 文件配置上述示例 - jscss
    • 这只是名称的问题。您可以添加任意数量的具有不同名称的项目。例如:basic、extras、foo、bar...更多信息请访问gruntjs.com/configuring-tasks
    猜你喜欢
    • 1970-01-01
    • 2018-11-18
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    相关资源
    最近更新 更多