Как установить пакет npm из локальной папки и разрабатывать в обеих папках одновременно? - PullRequest
0 голосов
/ 06 августа 2020

Я работаю над проектом 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) и синхронизировать изменения в обоих проектах.

...