node.js - 您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr

标签 node.js reactjs babeljs

我正在使用 babel-cli用于转译 jsx 和 es6 特性

我改变了我的构建命令

来自

"build": "node build",

"build": "babel-node build",

之前一切正常

但是当我运行构建命令时,我得到了这个错误

错误:locals[0] 似乎不是启用了热模块替换 API 的 module 对象。您应该使用 Babel 配置中的 env 部分在生产环境中禁用 react-transform-hmr。请参阅自述文件中的示例:https://github.com/gaearon/react-transform-hmr

另见截图

enter image description here

所以我应该在 Babel 配置中使用 env 部分在生产中禁用 react-transform-hmr

这是我的 .babelrc,就像说明一样

{
  "presets": ["react", "es2015"],
  "env": {
    "development": {
      "plugins": [
        ["transform-object-rest-spread"],
        ["transform-react-display-name"],
        ["react-transform", {
          "transforms": [{
            "transform": "react-transform-hmr",
            "imports": ["react"],
            "locals": ["module"]
          }, {
            "transform": "react-transform-catch-errors",
            "imports": ["react", "redbox-react"]
          }]
        }]
      ]
    },
    "production": {
      "plugins": [
        ["transform-object-rest-spread"],
        ["transform-react-display-name"]
      ]
    }
  }
}

我做错了什么?有什么推荐吗?

最佳答案

我必须在命令中添加 NODE_ENV=production

"build": "NODE_ENV=production babel-node build"

关于node.js - 您应该使用 Babel 配置中的 `env` 部分在生产中禁用 react-transform-hmr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043231/

相关文章:

javascript - Babel 对 Object.entries 的支持

node.js - Nodejs RabbitMQ 服务器上的高性能

javascript - Express 和 Nodejs : Best way to call an external API

javascript - Node.js 错误 : too many parameters Error while uploading bulk data

javascript - babelv7 中的配置合并

html - 如何在使用 React JS 和 Styled-Css 时覆盖用户代理样式

javascript - 如何映射异步生成器?

reactjs - Material-UI 版本 5 中的主题类型是什么?

reactjs - 运行 Jest 时,Babel 不会编译 .test.js 文件

reactjs - Babel 加载器问题 "You may need an additional loader to handle the result of these loaders" `/@react-spring/web/dist/`