默认情况下,Webpack 会为浏览器输出一个包。如果您希望您的代码在另一个项目中可用,您可以在 Webpack 配置中使用 output.library 和 output.libraryTarget。一个例子:
output: {
library: 'MyComponentName', // Your component / library name
libraryTarget: 'umd', // Or 'commonjs2', 'var', ...
}
这将导致您可以在浏览器或任何支持 AMD 或 CommonJS2 的模块系统(如 Webpack、Browserify、RequireJS...)中导入一个包。
in the Webpack documentation 提供有关这两个选项的更多信息。
奖金:
如果您没有设置output.library 选项,您的主包的所有导出属性都将被导出。这仅对不使用 AMD 或 CommonJS 的捆绑程序/浏览器有效。例如:
entrypoint.js:
module.exports = {
firstExport: 1,
secondExport: 2,
};
将output.library 设置为MyLibrary,这将在浏览器中发生:
var MyLibrary = { firstExport: 1, secondExport: 2 };
没有output.library,它看起来像这样:
var firstExport = 1;
var secondExport = 2;