Metro Builder:SyntaxError:意外的令牌 = 升级到 React Native 0.65.1 后

Maa*_*aax 10 javascript typescript react-native metro-bundler

今天我更新到了 React Native 版本 0.65.1。之后我无法启动 Metro 服务器

我现在在构建 Release .apk 时收到以下错误消息:

    node_modules/metro/src/Server.js:350
  processRequest = (req, res, next) => {
                 ^

SyntaxError: Unexpected token =
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
info Run CLI with --verbose flag for more details.

> Task :app:bundleReleaseJsAndAssets FAILED
Run Code Online (Sandbox Code Playgroud)

我试过了:

  • 更新节点
  • 保洁工程
  • 重新启动计算机

这是 Metro 服务器节点模块的片段

processRequest = (req, res, next) => {
    this._processRequest(req, res, next).catch(next);
  };
Run Code Online (Sandbox Code Playgroud)

其他信息:我使用的是配备 macOS Big Sur 11.5.2 的 MacBook Pro

感谢大家

小智 22

只是我的两分钱:我也遇到了同样的问题。我的问题是由于 NVM 造成的。我在当前项目中使用了节点版本 14,但我的默认版本是节点 10。并且 Metro 服务器在一个新终端中打开,该终端不使用当前节点,而是使用默认节点。通过将节点版本设置为 14 修复了该问题。

使固定: nvm alias default v14.17.0