1. webpack配置文件解析
1.1 参数解析
2. api
2.1 webpack(options, callback)
下面是其源码:
function webpack(options, callback) { var compiler; if(Array.isArray(options)) { compiler = new MultiCompiler(options.map(function(options) { return webpack(options); })); } else if(typeof options === "object") { new WebpackOptionsDefaulter().process(options); compiler = new Compiler(); compiler.options = options; compiler.options = new WebpackOptionsApply().process(options, compiler); new NodeEnvironmentPlugin().apply(compiler); compiler.applyPlugins("environment"); compiler.applyPlugins("after-environment"); } else { throw new Error("Invalid argument: options"); } if(callback) { if(typeof callback !== "function") throw new Error("Invalid argument: callback"); if(options.watch === true) { var watchOptions = (!Array.isArray(options) ? options : options[0]).watchOptions || {}; // TODO remove this in next major version var watchDelay = (!Array.isArray(options) ? options : options[0]).watchDelay; if(watchDelay) { console.warn("options.watchDelay is deprecated: Use 'options.watchOptions.aggregateTimeout' instead"); watchOptions.aggregateTimeout = watchDelay; } return compiler.watch(watchOptions, callback); } compiler.run(callback); } return compiler; }