You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

npm start启动React Native可穿戴项目报Invalid regular expression错误

复现流程
  • 拉取react-native-wearables-demo项目代码
  • 执行npm install安装依赖,安装过程无报错
  • 执行npm start --reset-cache启动服务时抛出如下错误:

Invalid regular expression: /(.\fixtures\.|node_modules[\]react[\]dist[\].|website\node_modules\.|heapCapture\bundle.js|.\tests\.)$/: Unterminated character class

  • 报错参考截图:正则语法报错截图
报错根因

该问题是高版本Node与旧版Metro打包工具的正则解析不兼容导致:这个demo是较早版本的React Native项目,依赖的低版本Metro中用于过滤文件路径的黑名单正则,采用了[\\]的反斜杠转义写法;在Node 12及以上版本中,该写法会被正则引擎判定为未闭合的字符类,直接抛出语法错误。

修复方法

两种方案二选一即可:

  1. 环境匹配法:将本地Node版本切换到10.x,与项目开发时的依赖环境对齐,重新执行依赖安装后启动服务即可正常运行。
  2. 配置修正法(无需切换Node版本,推荐):
    • 打开项目路径下的node_modules/metro-config/src/defaults/blacklist.js文件
    • 将文件内正则表达式里所有的[\\]片段替换为\\\\,修正反斜杠转义逻辑
    • 保存文件后重新执行npm start --reset-cache即可正常启动
      *提示:直接修改node_modules内文件属于临时修复,重装依赖后修改会失效;需要永久生效的话,可以在项目根目录新建metro.config.js配置文件,自定义覆盖默认的黑名单过滤规则即可。

内容的提问来源于stack exchange,提问作者Yeong Lestle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 14:24:21