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

标签 javascript webpack babeljs

在我的应用程序中,我使用 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/

相关文章:

javascript - 运行时 npm WARN 已弃用 'vue init webpack my-project'

reactjs - 如何在 docker 和 webpack 的 react 中访问环境变量

ecmascript-6 - mocha --compilers js :babel/register "cannot find module"

javascript - 使用类时使用 Babel 和 JSX 时出现语法错误

node.js - 使用脚本 src 链接安装 Vuel.js 有哪些缺点?

reactjs - 我怎么知道我在 React 中使用的是 ES6?

javascript - 根据 Javascript 中不同的搜索属性值数组匹配数组中的一组对象

javascript - NestJS - 注入(inject)的服务在构造函数中未定义

javascript - 为 intl-tel-input 插件添加淡入淡出效果

javascript - 如何使用 html-loader 将 html 部分包含在 webpack(版本 2)中?