如何防止 webpack 分析动态导入?
How can I prevent webpack from analyzing a dynamic import?
我有一个前端应用程序,可以在浏览器或电子中 运行。
当它 运行 在电子上下文中时,它可以访问 node
环境。
在前端应用中,我想引入electron节点模块,在浏览器中显然是不可用的。
所以我有这个动态导入,理论上我希望它在应用程序 运行s 在浏览器中时失败,而在 运行s 在 electron/node 中时成功] 上下文。
const electron = await import('electron');
console.log(electron);
然而,webpack 会在构建时抱怨各种错误,例如
Module not found: Error: Can't resolve 'path' in '.../app/node_modules/electron'
我使用动态导入的原因首先是为了避免构建错误,因为我认为代码只会在 运行 时间执行,但 webpack 需要分析所有导入以创建捆绑。
如何告诉 webpack 忽略这个特定的动态导入或所有动态导入?
我没有在前端导入电子,而是使用 preload
选项来加载节点内容。
我有一个前端应用程序,可以在浏览器或电子中 运行。
当它 运行 在电子上下文中时,它可以访问 node
环境。
在前端应用中,我想引入electron节点模块,在浏览器中显然是不可用的。
所以我有这个动态导入,理论上我希望它在应用程序 运行s 在浏览器中时失败,而在 运行s 在 electron/node 中时成功] 上下文。
const electron = await import('electron');
console.log(electron);
然而,webpack 会在构建时抱怨各种错误,例如
Module not found: Error: Can't resolve 'path' in '.../app/node_modules/electron'
我使用动态导入的原因首先是为了避免构建错误,因为我认为代码只会在 运行 时间执行,但 webpack 需要分析所有导入以创建捆绑。
如何告诉 webpack 忽略这个特定的动态导入或所有动态导入?
我没有在前端导入电子,而是使用 preload
选项来加载节点内容。