webpack export 类 from multiple entry files
webpack export classes from multiple entry files
我正在使用 webpack 捆绑一个框架供第 3 方使用。这个框架应该公开多个 ES6 classes。以模块化方式构建,我为每个文件编写了一个 class。我想要做的是将所有这些文件构建在一起,并将它们捆绑在给定的“命名空间”下。示例:
apples.js export class Apples {...}
oranges.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 文档证实了这种行为:
If you pass an array: All modules are loaded upon startup. The last one is exported.
http://webpack.github.io/docs/configuration.html#entry
我目前的解决方法是从一个文件中导出我所有的 classes,但它变得非常笨拙。
我该如何设置一个包含多个条目文件且全部导出的库?还是我在这里做错事了?
我认为您最好使用 entry.js 文件来说明您如何组织多个模块。
import Apples from './apples';
import Oranges from './oranges';
export {
Apples,
Oranges
};
顺便说一下,如果你不想自己写这么蠢的代码,使用Gulp/Grunt通过某种逻辑生成文件'entry.autogenerated.js'然后运行 webpack with条目 'entry.autogenerated.js'.
我正在使用 webpack 捆绑一个框架供第 3 方使用。这个框架应该公开多个 ES6 classes。以模块化方式构建,我为每个文件编写了一个 class。我想要做的是将所有这些文件构建在一起,并将它们捆绑在给定的“命名空间”下。示例:
apples.js export class Apples {...}
oranges.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 文档证实了这种行为:
If you pass an array: All modules are loaded upon startup. The last one is exported. http://webpack.github.io/docs/configuration.html#entry
我目前的解决方法是从一个文件中导出我所有的 classes,但它变得非常笨拙。
我该如何设置一个包含多个条目文件且全部导出的库?还是我在这里做错事了?
我认为您最好使用 entry.js 文件来说明您如何组织多个模块。
import Apples from './apples';
import Oranges from './oranges';
export {
Apples,
Oranges
};
顺便说一下,如果你不想自己写这么蠢的代码,使用Gulp/Grunt通过某种逻辑生成文件'entry.autogenerated.js'然后运行 webpack with条目 'entry.autogenerated.js'.