在Gruntfile.js中使用grunt-browserify
我有一些麻烦find如何使用grunt-browserify的解释。 看他们的示例文件夹,我正在查看下基本示例下的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']); };
什么是“供应商”和“客户”,他们在哪里logging? 在自述文件中,他们提到“preBundleCB”,“dist”,我见过不less其他人,而且大多数都有自己的数据结构。 这些选项是否在任何地方被列举和解释?
根据Gruntconfiguration的惯例 ,“供应商”和“客户”是targets
。 他们的名字不是由grunt或grunt-browserify定义的。 你可以创build任意数量的目标,并给他们你喜欢的名字。 每个目标都具有files
configuration,这在大多数Grunt任务(如src
和dest
)以及options
configuration(常见于插件特定)中很常见。 “dist”是目标的另一个例子,“preBundleCB”是grunt-browserify
browserify选项的属性。
您可以单独使用grunt browserify:vendor
和grunt browserify:client
来调用目标。 而grunt browserify
调用了所有的browserify
任务,在这个例子中是“vendor”和“client”。
grunt-browserify的每个目标都会创build一个绑定的脚本文件。 在这个例子中,“vendor”目标创build了vendor.js
,其中包含jquery
,名为momentWrapper
和名为evt
events
。 “客户端”目标创buildapp.js
包含client/**/*.js
momentWrapper
及其依赖项,不包括jquery
和momentWrapper
。