gpt4 book ai didi

webpack - 如何将 'move' babel-runtime 转换为 webpack vendor 的 DLL?

转载 作者:行者123 更新时间:2023-12-04 15:55:03 25 4
gpt4 key购买 nike

我正在创建两个 webpack 包:vendors.dll.jsclient.js .

Vendors 是使用 webpack.DllPlugin 创建的。它包括node_modules/ 中的所有前端模块.这很好用。

客户包括我的应用程序代码。它使用 webpack.DllReferencePlugin 将 vendor 委托(delegate)给 DLL。这很好用。

客户端通过babel-loader 运行所有javascript .我正在使用 babel-plugin-transform-runtime插件,这会导致一大堆 core-js 的东西被编译到我的客户端包中。我更愿意将这些东西移到 DLL 中,因为它不会像应用程序那样频繁地更改。

AFAIK 你不能只包括 babel-runtime在 DLL 中(我试过这个)。据我所知,core-js 的加载更直接,而 babel-runtime 甚至没有 main据我所知。

通天塔:6.x
网络包:1.x

如果需要解决问题,很高兴提供实际配置。

最佳答案

您可以扫描所需的目录并像这样包含所有文件。

const readDir = dir => {
const result = [];
fs.readdirSync(dir).map(file => {
if (file.match(/\.js$/)) result.push(`${dir.replace('./node_modules/', '')}/${file}`);
else if (fs.lstatSync(dir + '/' + file).isDirectory()) result.push(...readDir(dir + '/' + file));
});
return result
}
const babelRuntimeHelpers = readDir('./node_modules/babel-runtime/helpers');
const babelRuntimeCoreJs = readDir('./node_modules/babel-runtime/core-js');

然后将它们添加到您的 vendor 数组中:
vendor: [
...babelRuntimeHelpers,
...babelRuntimeCoreJs,
...rest
]

关于webpack - 如何将 'move' babel-runtime 转换为 webpack vendor 的 DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37080909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com