Error Invalid regular expression

В момент запуска React Native (expo start или npm start) в консоли может появится ошибка — error Invalid regular expression.

Полный листинг будет примерно такой:

> expo start

Starting project at C:\OS\OSPanel\domains\imessenger.loc\imessenger
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
error Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[
\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\
\.*)$/: Unterminated character class. Run CLI with --verbose flag for more detai
ls.

Metro Bundler process exited with code 1
Set EXPO_DEBUG=true in your env to view the stack trace.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ start script.
npm ERR! This is probably not a problem with npm. There is likely additional log
ging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Dmitriy\AppData\Roaming\npm-cache\_logs\2019-11-22T13_50_3
8_984Z-debug.log

Для решения данной проблемы, нужно открыть файл YOUR_PATH_TO_PROJECT\node_modules\metro-config\src\defaults\blacklist.js

И заменить переменную:

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

На переменную:

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

Между выше приведенными переменными есть всего несколько небольших отличий — в экранировании слешей, из-за чего происходит краш запуска системы, если не произвести замену.

Успехов, друзья, в мобильной разработке!

Добавить комментарий