Gruntfile 的这一部分是否将多个文件合并为一个文件?

Does this part of Gruntfile combine multiple files to one?

我有一个包含以下内容的 Grunt 文件:

module.exports = function(grunt) {

//  require('load-grunt-tasks')(grunt);

  /* global process */

  // configures browsers to run test against
  // any of [ 'PhantomJS', 'Chrome', 'Firefox', 'IE']
  var TEST_BROWSERS = ((process.env.TEST_BROWSERS || '').replace(/^\s+|\s+$/, '') || 'PhantomJS').split(/\s*,\s*/g);


  // project configuration
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    config: {
      app: 'app',
      sources: 'lib',
      tests: 'test'
    },

    release: {
      options: {
        tagName: 'v<%= version %>',
        commitMessage: 'chore(project): release v<%= version %>',
        tagMessage: 'chore(project): tag v<%= version %>'
      }
    },
    browserify: {
      options: {
        browserifyOptions: {
          builtins: false
        },
        bundleOptions: {
          detectGlobals: false,
          insertGlobalVars: [],
          debug: true
        }
      },
      watch: {
        files: {
          '<%= config.app %>/bpmn-viewer.js': [ '<%= config.app %>/bpmn.js', 'index.js' ]
        },
        options: {
          watch: true
        }
      },
      standaloneViewer: {
        files: {
          '<%= config.app %>/bpmn-viewer.js': [ '<%= config.app %>/bpmn.js', 'index.js' ]
        },
        options: {
          alias: [
            'jquery:jquery',
            'lodash:lodash',
            'index.js:bpmn-js-diffing',
            '<%= config.app %>/bpmn.js:bpmn-js'
          ]
        }
      },
    },
    jsdoc: {
      dist: {
        src: [ '<%= config.sources %>/**/*.js' ],
        options: {
          destination: 'docs/api',
          plugins: [ 'plugins/markdown' ]
        }
      }
    }
  });

  // tasks

  grunt.registerTask('test', [ 'karma:single' ]);

  grunt.registerTask('auto-test', [ 'karma:unit' ]);

  // grunt.registerTask('default', [ 'jshint', 'test', 'browserify:standaloneViewer', 'jsdoc' ]);

  grunt.registerTask('default', [  ]);
};

我知道在这个文件的某个地方一定有一个缩小代码的表达式(我从别人那里继承了代码,所以我不知道它是如何工作的)。生成的文件名为 bpmn-viewer.js.

行不行

      standaloneViewer: {
        files: {
          '<%= config.app %>/bpmn-viewer.js': [ '<%= config.app %>/bpmn.js', 'index.js' ]
        },

意味着文件 '<%= config.app %>/bpmn.js', 'index.js' 应该合并到 <%= config.app %>/bpmn-viewer.js?

如果可能,请提供描述它的文档的链接。

缺少一些信息,例如您分叉的项目和 package.json 依赖项。

幸运的是,我找到了 https://github.com/bpmn-io/bpmn-js-diffing,这可能就是您分叉的项目。请注意,这个项目很旧,它的依赖项也很旧,我必须修复它才能工作,所以单独的版本控制可能会改变我的结果。

我没有找到缩小的内容。文件 app/bpmn-viewer.js 是拼接结果。多个文件被合并到这个文件中,是的,但是只有 browserify header 总是在 bpmn-viewer.js.

中缩小

首先,您评论了 load-grunt-tasks 和“默认”grunt 任务,所以我不确定您是否真的 运行 这个 Gruntfile.js grunt。注释掉它是行不通的,因为据我所知,没有对 grunt.loadNpmTasks 的调用,没有任何加载指令就不会加载 grunt 插件。

现在看文档。你是对的,连接是由于 files 字段而发生的。这是 Grunts Task definition layout.

的一部分

Browserify 分析给定的文件并将它们合并为一个。这是抽象描述,更多内容在 browserify handbook.

还是要记住:你的fork项目版本太旧了。

所以这是我能找到的简短内容:

  • 不,内容没有缩小
  • Browserify header(已缩小)并将源映射内容添加到最终文件

如果你真的有精简内容,请提供package.json依赖和真正的运行Gruntfile.js.