Acabo de instalar node.js & cli
instaló react-native-cli
npm -g react-native-cliY creó un 'nuevo proyecto'.
react-native init new_projecty dentro de ese directorio 'nuevo_proyecto', me cansé de ver si Metro Bundler funciona bien.
react-native startPero el comando me dio el siguiente error y el metro no se inicia. ¿Alguna pista para corregir este error? (Estoy usando el sistema operativo Windows 10).
C:\projects\new_proj>react-native starterror Expresión regular no válida: /(.\fixtures.|node_modules[]react[]dist[].|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: Clase de caracteres sin terminar. Ejecute la CLI con el indicador --verbose para obtener más detalles. SyntaxError: Expresión regular no válida: /(.\fixtures.|node_modules[]react[]dist[].|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: Clase de caracteres sin terminar en la nueva expresión regular ( ) en la lista negra (D:\projects\new_proj\node_modules\metro-config\src\defaults\blacklist.js:34:10) en getBlacklistRE (D:\projects\new_proj\node_modules\react-native\node_modules@react-native -community\cli\build\tools\loadMetroConfig.js:69:59) en getDefaultConfig (D:\projects\new_proj\node_modules\react-native\node_modules@react-native-community\cli\build\tools\loadMetroConfig.js :85:20) en carga (D:\projects\new_proj\node_modules\react-native\node_modules@react-native-community\cli\build\tools\loadMetroConfig.js:121:25) en Object.runServer [como función ] (D:\projects\new_proj\node_modules\react-native\node_modules@react-native-community\cli\build\commands\server\runServer.js:82:58) en Command.handleAction (D:\projects\new_proj \node_modules\react-native\node_modules@react-native-community\cli\build\cliEntry.js:160: 21) en Command.listener (D:\projects\new_proj\node_modules\commander\index.js:315:8) en Command.emit (events.js:210:5) en Command.parseArgs (D:\projects\new_proj \node_modules\commander\index.js:651:12)
Acabo de recibir un error similar por primera vez hoy. Aparece en \node_modules\metro-config\src\defaults\blacklist.js , hay una expresión regular no válida que debe cambiarse. Cambié la primera expresión en sharedBlacklist de:
var sharedBlacklist = [ /node_modules[/\\]react[/\\]dist[/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];para:
var sharedBlacklist = [ /node_modules[\/\\]react[\/\\]dist[\/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];Esto es causado por el nodo v12.11.0 debido a la forma en que trata la ubicación regular, hay dos formas de resolver este problema
Método I
Puede degradar al nodo v12.10.0, esto aplicará la forma correcta de lidiar con el error de análisis
Método II
Puede terminar correctamente la expresión regular en su caso cambiando el archivo ubicado en:
\node_modules\metro-config\src\defaults\blacklist.js
Desde:
var sharedBlacklist = [ /node_modules[/\\]react[/\\]dist[/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];Para:
var sharedBlacklist = [ /node_modules[\/\\]react[\/\\]dist[\/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];Se debe a una configuración de archivo de lista negra que no coincide.
Para resolver eso,
Tenemos que movernos a la carpeta del proyecto.
Abra \node_modules\metro-config\src\defaults\blacklist.js
Reemplace lo siguiente.
Desde
var sharedBlacklist = [ /node_modules[/\\]react[/\\]dist[/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];Para
var sharedBlacklist = [ /node_modules[\/\\]react[\/\\]dist[\/\\].*/, /website\/node_modules\/.*/, /heapCapture\/bundle\.js/, /.*\/__tests__\/.*/ ];