Первый раз пытаюсь это сделать, поэтому не совсем уверен, что я делаю или как это настроить.
Мне нужно отладить библиотеку, которую я использую в своем приложении. Первоначально он был установлен с npm install @react-pdf/renderer
. Это не сработает для отладки, и я наткнулся на ответ, описывающий, как работать с зависимостью, если вам нужно внести в нее изменения:
https://stackoverflow.com/a/13302095/3123109
Так что теперь я делаю npm install https://github.com/diegomura/react-pdf/tarball/master
, который помещает копию репо в мой node_modules
.
У меня сложилось впечатление, что после этого "просто сработает". Конечно, не все так просто ...
Что я пробовал
У меня в приложении работает NPM. Первая ошибка, которая появляется Module not found: Error: Can't resolve '@react-pdf/renderer'
в моем компоненте, где она содержится. Итак, обновил мой import
до следующего, чтобы посмотреть index.js
библиотеки: import { Document } from '@react-pdf/renderer/src
.
Очищает это сообщение. Теперь я получаю:
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
проблема:
https://stackoverflow.com/a/41412906/3123109
Хорошо, я добавляю это к .babelrc
в @react-pdf/renderer
, так как оно отсутствует. Та же проблема.
Я думаю, мне нужно добавить его к моему .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
, а второй - с тем, что я использую в своем приложении.
https://stackoverflow.com/a/49183337/3123109
Хорошо, очевидно, возникает проблема зависимости, которую я не знаю, как решить, учитывая, что никогда раньше не делал этого. Тем не менее, когда я сделал npm install https://github.com/diegomura/react-pdf/tarball/master
, он установил зависимости в node_module
для @react-pdf/renderer
.
Вопросы
Нужно ли устанавливать зависимости для @react-pdf/renderer
, хотя похоже, что они были установлены с npm install https://github.com/diegomura/react-pdf/tarball/master
?
Если так, то где? Нужно ли добавлять зависимости в мое приложение (через добавление их в мой package.json
) или в каталог node_modules/@react-pdf/renderer
через npm install
в этом каталоге?
Нужно ли запускать npm run ... --watch
для @react-pdf/renderer
в дополнение к запуску его для моего приложения?
Или мне просто нужно взять скомпилированные файлы JS для @react-pdf/renderer
, прочитать их в моем приложении, а затем перекомпилировать JS, если мне нужно внести изменения?