Настройка зависимости git npm для отладки

1

Первый раз пытаюсь это сделать, поэтому не совсем уверен, что я делаю или как это настроить.

Мне нужно отладить библиотеку, которую я использую в своем приложении. Первоначально он был установлен с помощью npm install @react-pdf/renderer. Это не сработает для отладки, и я наткнулся на ответ, описывающий, как работать с зависимостью, если вам нужно внести в нее изменения:

qaru.site/questions/159912/...

Так что теперь я делаю npm install https://github.com/diegomura/react-pdf/tarball/master которая помещает копию репо в мои node_modules.

У меня сложилось впечатление, что после этого это "просто сработает". Конечно, не все так просто...


Что я пробовал

  1. У меня в приложении работает NPM. Первая ошибка, которая появляется, - Module not found: Error: Can't resolve '@react-pdf/renderer' в моем компоненте, где он содержится. Итак, обновил мой import до следующего, чтобы посмотреть на index.js библиотеки: import { Document } from '@react-pdf/renderer/src.

  2. Проясняет это сообщение. Теперь я получаю:

    ERROR in /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/elements/Page.js 11:22
    Module parse failed: Unexpected token (11:22)
    You may need an appropriate loader to handle this file type.
    |
    | class Page extends Base {
    >   static defaultProps = {
    |     size: 'A4',
    |     orientation: 'portrait',
    @ /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/elements/index.js 3:0-26 13:8-12
    @ /mnt/c/Users/User/projects/current/client/node_modules/@react-pdf/renderer/src/index.js
    

Глядя на это, кажется, что это проблема babel-preset-stage-0:

qaru.site/questions/2382482/...

Хорошо, я добавляю это в .babelrc в @react-pdf/renderer так как он отсутствует. Та же проблема.

  1. Я думаю, мне нужно добавить его в мой .babelrc который также требует npm install --save-dev babel-preset-stage-0 (даже если я не использую это в своем приложении, но неважно). Получите эту ошибку:

    ERROR in ../react/index.jsx
    Module build failed (from /mnt/c/Users/User/projects/current/client/node_modules/babel-loader/lib/index.js):
    Error: Plugin/Preset files are not allowed to export objects, only functions.
    

Очевидно, это было связано со смешением Вавилона 6 с Вавилоном 7, первый из которых связан со stage-0 а второй - с тем, что я использую в своем приложении.

qaru.site/questions/15291471/...

Хорошо, по-видимому, возникает проблема зависимости, которую я не знаю, как решить, учитывая, что я никогда не делал этого раньше. Тем не менее, когда я npm install https://github.com/diegomura/react-pdf/tarball/master, он установил зависимости в node_module для @react-pdf/renderer node_module @react-pdf/renderer.


Вопросы

  1. Нужно ли устанавливать зависимости для @react-pdf/renderer хотя похоже, что они были установлены с помощью npm install https://github.com/diegomura/react-pdf/tarball/master?

  2. Если так, то где? Нужно ли добавлять зависимости в мое приложение (через добавление их в мой package.json) или в node_modules/@react-pdf/renderer через npm install в этом каталоге?

  3. Нужно ли запускать npm run... --watch для @react-pdf/renderer npm run... --watch @react-pdf/renderer в дополнение к запуску его для моего приложения?

  4. Или мне просто нужно взять скомпилированные JS файлы для @react-pdf/renderer, прочитать их в мое приложение, а затем перекомпилировать JS, если мне нужно внести изменения?

Теги:

1 ответ

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

Ну, разработчик @react-pdf/renderer мне с настройкой. Он предположил, что, как я уверен, есть несколько способов сделать это, используя yarn:

  1. Реакция клона-pdf в отдельную папку
  2. Запустите yarn install в каталоге pdf
  3. Запустите yarn link на yarn link в каталоге pdf. Это свяжет библиотеку с вашей локальной версией
  4. Запустите yarn watch в каталоге pdf. Это будет следить за изменениями файлов и переупаковывать каждый раз
  5. Запустите в вашем проекте yarn link "@react-pdf/renderer" чтобы использовать локальный пакет

Я бы заменил изображение " yarn " на " npm ", но не проверял.

Я узнаю что-то новое каждый день...

Ещё вопросы

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