使用外部 babel 配置会破坏节点/反应应用程序 - 内部服务器错误

Posted

技术标签:

【中文标题】使用外部 babel 配置会破坏节点/反应应用程序 - 内部服务器错误【英文标题】:Using external babel configuration breaks node/react app - internal server error 【发布时间】:2019-10-19 13:43:59 【问题描述】:

有没有人知道为什么 babel 配置文件会在 npm run dev 上加载以及为什么它会开始标记我的代码中完美的部分?

我感觉它与 Next.js 有关。我的 package.json(我正在测试的)供参考:

,
"devDependencies": 
  "@babel/preset-env": "^7.4.5",
  "@babel/preset-react": "^7.0.0",
  "@svgr/cli": "^4.2.0",
  "babel-jest": "^24.8.0",
  "babel-preset-stage-2": "^6.24.1",
  "jest": "^24.8.0",
  "nodemon": "^1.19.1"

我的目标是拥有一个可以同时运行 npm run devnpm test 而不是其中一个的应用程序。目前,如果我删除我所有的 babel 配置文件(需要运行 jest),我的 web 应用程序将完全正常启动。反之亦然。老实说,当我开始运行服务器时,我认为我不需要或不希望任何 babel 配置文件处于活动状态,但我需要它们运行 jest

那么...是否有办法从某些 package.json 脚本中禁用 babel,或者让 jest 测试在不破坏应用核心功能的情况下正常工作?

编辑-我修复了它

【问题讨论】:

【参考方案1】:
//.babelrc


  "presets": [
    [
      "next/babel"
    ]
  ]

【讨论】:

以上是关于使用外部 babel 配置会破坏节点/反应应用程序 - 内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

无法使用链接的本地节点模块构建项目

无法解析“babel-loader”

为啥 withRouter 与 connect() 一起使用会破坏我的反应应用程序?

Babel 7 - ReferenceError: regeneratorRuntime 未定义

在 React 应用中设置 Babel 生成的 EcmaScript 版本

如何在故事书中配置 webpack 以允许 babel 在项目文件夹之外导入反应组件