Webpack - 如何在另一个 JavaScript 文件中要求一个入口包



我有 2 个入口点:一个用于主应用程序,一个用于应用程序的旧部分。

.js,旧版正在按照我的意愿捆绑在一起,如下所示:

module.exports = {
entry: {
app: ['file1', 'file2'],
legacy: ['legacyfile1', 'legacyfile2'],
},
devtool: 'source-map',
context: path.resolve(__dirname, 'src'),
output: {
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
filename: 'js/[name].js'
},
plugins: [
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
chunks: ['app'] // Only include app bundle - Legacy will be required in the legacy javascript file.js at runtime.
}),
}

这将生成两个捆绑包,并且只有 app.js 捆绑包注入 index.html。

然后在 legacy .js 中,我想在文件顶部需要遗留捆绑包,如下所示(全部不起作用,Webpack 找不到模块(:

require('./dist/js/legacy.js');
require('./js/legacy.js');
require('dist/js/legacy.js');
require('/js/legacy.js');

Webpack 怎么可能在运行时要求将 Webpack 捆绑文件打包到 javascript 文件中?

感谢那些有时间考虑这个问题的人!

Webpack 将每个入口点捆绑到一个不导出任何内容的普通脚本文件中。所以你不能requireimport它。

一种解决方案(除了通过全局范围共享代码之外(是找到两个捆绑包的公共可共享代码,并将其提取到单独的模块中,以便您可以从任一代码库导入它。

相关内容

最新更新