基于入口点的不同babel或webpack配置

在我的应用程序中,我正在使用babel来应用webpack(用于从源文件生成捆绑包)。我创建了一个在ExecJS环境中在服务器上运行的包(入口点server_rendering.js),在客户端上创建了一个捆绑包(入口点application.js)。由于与某些JS库的某些特殊交互,我需要根据入口点文件运行不同的babel转换。我该怎么办?

为澄清起见,babel似乎存在许多类似的问题,它们基于环境变量做出不同的响应,这不是我在这里想要做的。我希望能够将两个文件作为同一webpack进程的一部分进行编译。

在我的情况下,我对基于入口点扩展webpack配置感到满意。

fulex168 回答:基于入口点的不同babel或webpack配置

您将需要多个Webpack配置,例如,从webpack.config.js返回一个配置数组。 Webpack无法使用一个配置完成您要求的操作,因为入口点就是 entry 指向 one 应用程序。给定的文件只能在应用程序中一次编译,因此没有任何方法可以通过多种方式来编译同一文件。

如何将其与Babel集成取决于您,但是例如,您可以在客户端Webpack配置中将envName: "client"传递给babel-loader,将envName: "server"传递给服务器Webpack配置。然后,您的Babel配置可以根据该值选择插件集。

本文链接:https://www.f2er.com/3111948.html

大家都在问