在我的应用程序中,我使用 webpack
应用 babel
(我用它从源文件生成包)。我创建了一个在 ExecJS 环境中的服务器上运行的包(入口点 server_rendering.js
),以及另一个在客户端上运行的包(入口点 application.js
)。由于与某些 JS 库的一些特殊交互,我需要根据入口点文件运行不同的 babel 转换。我该怎么做?
需要澄清的是,似乎有许多类似的问题与 babel
相关,它们根据环境变量做出不同的响应,这不是我想要在这里做的。我希望能够将这两个文件作为同一个 webpack
进程的一部分进行编译。
在我的情况下,我也可以对基于入口点增强我的 webpack
配置感到满意。
最佳答案
您将需要多个 Webpack 配置,例如从 webpack.config.js
返回一组配置。 Webpack 无法通过一个配置完成您所要求的操作,因为入口点就是指向一个应用程序的入口。给定的文件只会在应用程序中编译一次,因此没有任何方法可以多次编译同一文件。
如何将其与 Babel 集成取决于您,但您可以在客户端 Webpack 配置中将 envName: "client"
传递给 babel-loader
,和 envName: "server"
到 Babel 你的服务器 Webpack 配置。然后你的 Babel 配置可以根据该值选择插件集。
关于javascript - 基于入口点的不同 babel 或 webpack 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58832625/