регулярное выражение для модуля черного списка узлов с динамическим путем к рабочей области пряжи в React Native metro bundler

1

Похоже на: Как занести в черный список определенные node_modules зависимостей моего пакета в сборщике реагирующего натива?

Я пытаюсь исключить реакцию native от metro packager, используя опцию черного списка, которая должна возвращать регулярное выражение.

Что мне нужно, это вернуть что-то вроде:

/\/DYNAMIC_PROJECT_DIRECTORY\/node_modules\/react-native\/.*/,

где я могу вставить переменную в DYNAMIC_PROJECT_DIRECTORY, так как она будет меняться в зависимости от пути рабочей области пряжи другого модуля.

Я просто не знаком с регулярными выражениями!

Спасибо

Изменение: я пытался жестко кодировать путь в этот формат, и он все еще не работал в черный список, так что, если кто-то может указать мне в правильном направлении, что работает, чтобы исключить эту папку и все в этом, что было бы очень полезно!

Теги:
react-native
yarn-workspaces

1 ответ

2
Лучший ответ

Вы можете создать регулярное выражение, которое использует динамические переменные, с помощью конструктора RegExp:

new RegExp('\/${DYNAMIC_PROJECT_DIRECTORY}\/node_modules\/react-native\/.*');

Замечания:

  • В этом примере используется строка шаблона для вставки DYNAMIC_PROJECT_DIRECTORY; Вы могли бы также написать:
    new RegExp('\/' + DYNAMIC_PROJECT_DIRECTORY + '\/node_modules\/react-native\/.*');
  • При использовании этого метода создания регулярного выражения начальная и конечная косая черта опускаются.
  • 1
    Большое спасибо. Я знал о строках шаблона, но не был уверен, можно ли их вывести в виде регулярного выражения, поэтому я думаю, что именно здесь начинается начальная и конечная косая черта. Спасибо!
  • 1
    Обратите внимание, что вам нужно экранировать $ в вашем регулярном выражении для конца строки при использовании строк шаблона

Ещё вопросы

Сообщество Overcoder
Наверх
Меню