我正在使用 webpack 捆绑一个框架供第三方使用。该框架应该公开多个 ES6 类。我以模块化方式构建,每个文件编写一个类。我想要做的是将所有这些文件构建在一起,并将它们捆绑在给定的“命名空间”下。例子:
苹果.jsexport class Apples {...}
橙子.jsexport class Oranges {...}
webpack.config.js:
module.exports = {
entry: ['./src/apples.js', './src/oranges.js'],
output: {
path: './dist',
filename: 'fruit.js',
library: 'Fruit',
libraryTarget: 'umd'
}
}
但是,如果我在浏览器中加载这个库并输入Fruit
在控制台中,我只看到 Fruit 下的 Oranges 对象。只有最后一个条目文件在库中被公开。果然,webpack 文档证实了这种行为:
如果传递数组:所有模块都会在启动时加载。最后一张已导出。http://webpack.github.io/docs/configuration.html#entry http://webpack.github.io/docs/configuration.html#entry
我当前的解决方法是从一个文件导出所有类,但它变得非常笨拙。
如何设置一个包含多个全部导出的条目文件的库?或者我在这里做错事了?
我认为您最好使用entry.js 文件来指示如何组织多个模块。
import Apples from './apples';
import Oranges from './oranges';
export {
Apples,
Oranges
};
顺便说一句,如果你不想自己编写这样愚蠢的代码,请使用 Gulp/Grunt 通过某种逻辑生成文件“entry.autogenerate.js”,然后使用条目“entry.autogenerate.js”运行 webpack 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)