默认情况下,webpack捆绑包不会公开您的导出内容,因为它假定您是在构建应用程序而不是库(这是webpack的更常见用法)。您可以通过配置output.library
和创建库output.libraryTarget
。
output: {
path: __dirname,
filename: 'bundle.js',
library: 'yourLibName',
libraryTarget: 'commonjs2'
},
output.libraryTarget
是模块的格式,这也将允许您将库公开为全局变量。commonjs2
是Node使用的模块格式。请参阅什么是commonjs2?commonjs
和之间的区别commonjs2
。
由于您使用的是React,因此可以期望该库的使用者将React作为依赖项存在,因此您不希望将其包含在包中。为此,您可以将其定义为External。创作库中对此进行了显示,它为您提供了一个小例子。