繁体   English   中英

在Gruntfile.js中使用grunt-browserify

[英]using grunt-browserify in Gruntfile.js

我在找到如何使用grunt-browserify的解释时遇到了一些麻烦。 查看他们的examples文件夹,我在他们的基本示例下查看browserify节点,我看到以下内容:

module.exports = function (grunt) {
  grunt.initConfig({
    browserify: {
      vendor: {
        src: [],
        dest: 'public/vendor.js',
        options: {
          require: ['jquery'],
          alias: [
            './lib/moments.js:momentWrapper', //can alias file names
            'events:evt' //can alias modules
          ]
        }
      },
      client: {
        src: ['client/**/*.js'],
        dest: 'public/app.js',
        options: {
          external: ['jquery', 'momentWrapper'],
        }
      }
    },
    concat: {
      'public/main.js': ['public/vendor.js', 'public/app.js']
    }
  });
  grunt.loadTasks('../../tasks');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.registerTask('default', ['browserify', 'concat']);
};

什么是“供应商”和“客户”,他们在哪里记录? 在README文件中,他们提到“preBundleCB”,“dist”,我看过很多其他人,大多数都有自己的数据结构。 是否在任何地方列举和解释了这些选项?

根据Grunt配置的惯例 ,“供应商”和“客户”是targets 它们的名称不是由grunt或grunt-browserify定义的。 您可以根据需要创建任意数量的目标,并为其指定您喜欢的名称。 每个目标都有files配置,这在大多数Grunt任务中很常见,例如srcdest ,以及options配置,这是特定于插件的。 “dist”是目标的另一个例子,“preBundleCB”是grunt-browserify browserify选项的属性。

您可以使用grunt browserify:vendor单独调用目标grunt browserify:vendorgrunt browserify:client 并且grunt browserify调用browserify任务的所有目标,在此示例中为“vendor”和“client”。

grunt-browserify的每个目标都会创建一个捆绑的脚本文件。 在此示例中,“vendor”目标创建vendor.js ,其中包含jquerymoment.js命名为momentWrapper和名为evt events “client”目标创建app.js ,其中包含client/**/*.js momentWrapper及其依赖项,不包括jquerymomentWrapper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM