Я работаю над проектом React и использую Webpack для компиляции кода. Этот проект содержит множество общих компонентов, которые устанавливаются в других проектах в организации с использованием npm установить частный git репозиторий .
Пакет. json другого проекта выглядит как это:
"@mypackage/my-package-name": "git+ssh://git@github.com:git-handle/git-repo.git",
И в конфигурации Webpack я компилирую его, исключая из узловых модулей, и он отлично работает.
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /(node_modules(?!\/@mypackage))/,
use: [
{
loader: 'babel-loader',
query: {
presets: ['@babel/react'],
},
},
],
},
],
},
Теперь, когда я хочу обновить код общего компонента из глобального пакета, мне нужно переустановить весь пакет, чтобы проверить изменения.
Одним из способов решения этой проблемы является редактирование node_modules, но затем мне нужно повторить эти изменения в моем глобальном пакете и снова выполните процесс переустановки в конце (также он не сохраняет историю git, чтобы отслеживать, какие изменения необходимо сделать).
Я обнаружил npm установку с локального и npm связать локальную папку ответить, но столкнуться с той же проблемой, которая не решена
Обновленный пакет. json
"@mypackage/my-package-name": "file:../my-package-name"
Я получил следующие ошибки:
Module not found: Can't resolve '@mypackage/my-package-name/Navbar' in 'path/to/folder/'
SassError: File to import not found or unreadable: bootstrap/variables
Module not found: Error: Can't resolve 'js-cookie'
Эти ошибки могут быть связаны с неполной компиляцией кода из локальная папка.
Моя структура папок выглядит примерно так
= (my-package)
- package.json
- ...
= src
- index.js
= (other-project)
- package.json
- ...
= src
- index.js
Я ищу решение, с помощью которого я могу указать пакет в локальной папке (глобальная папка mypackage) и синхронизировать изменения в обоих проектах.