运行 expo start 命令后出现无效的正则表达式错误

San*_*eev 7 npm react-native yarnpkg expo

我是 React 原生开发的新手。运行后:

expo start
Run Code Online (Sandbox Code Playgroud)

或者

npm start
Run Code Online (Sandbox Code Playgroud)

或者

yarn start
Run Code Online (Sandbox Code Playgroud)

它返回以下错误消息:

Invalid regular expression error
Run Code Online (Sandbox Code Playgroud)

我该如何调试?

PS C:\Users\Admin\Desktop\React Course\New folder (2)\newproject> expo start
在 C:\Users\Admin\Desktop\React Course\New folder (2)\newproject 启动项目
Expo DevTools 运行在 http://localhost:19002
在浏览器中打开 DevTools...(按 shift-d 禁用)
错误 无效的正则表达式: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\ bundle\.js|.*\\__tests__\\.*)$/:未终止的字符类。使用 --verbose 标志运行 CLI 以获取更多详细信息。

语法错误:正则表达式无效:/(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\ \bundle\.js|.*\\__tests__\\.*)$/:未终止的字符类
    在新的正则表达式 ()
    在黑名单(C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\metro-config\src\defaults\blacklist.js:34:10)
    在 getBlacklistRE (C:\Users\Admin\Desktop\React Course\New 文件夹 (2)\newproject\node_modules\@react-native-community\cli\build\tools\loadMetroConfig.js:66:59)
    在 getDefaultConfig (C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\@react-native-community\cli\build\tools\loadMetroConfig.js:82:20)
    加载时(C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\@react-native-community\cli\build\tools\loadMetroConfig.js:118:25)
    在 Object.runServer [as func] (C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\@react-native-community\cli\build\commands\server\runServer.js: 82:58)
    在 Command.handleAction (C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\@react-native-community\cli\build\index.js:164:23)
    在 Command.listener (C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\commander\index.js:315:8)
    在 Command.emit (events.js:210:5)
    在 Command.parseArgs (C:\Users\Admin\Desktop\React Course\New folder (2)\newproject\node_modules\commander\index.js:651:12)
Metro Bundler 进程退出,代码为 1
在您的环境中设置 EXPO_DEBUG=true 以查看堆栈跟踪。

SDu*_*han 12

为了解决这个问题,去

\node_modules\metro-config\src\defaults\blacklist.js
Run Code Online (Sandbox Code Playgroud)

改变

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];
Run Code Online (Sandbox Code Playgroud)

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];
Run Code Online (Sandbox Code Playgroud)

检查这个以获取更多信息。