Я использую модуль node_swiz, который, в свою очередь, использует модуль валидатора.
Я хочу внести изменения в модуль валидатора, но я использовал npm install для установки модулей / зависимостей.
Могу ли я просто внести изменения в модуль валидатора внутри node_modules, или эти зависимости node_modules будут воссозданы, и последняя версия будет получена при публикации в heroku или при следующем запуске npm install?
Структура выглядит так:
myNodeApplication
- node_modules
- swiz
- node_modules
- validator [this is the library I want to edit]
Спасибо за помощь!
/node_modules
и запустить,npm install
тогда все хорошо!Вы можете использовать пакет исправлений для внесения и сохранения изменений в модулях узлов.
Это можно сделать, сначала внося изменения в пакет внутри,
node_modules
а затем выполнив следующую команду с<package name>
именем пакета, в который вы только что внесли изменения.patch-package затем создаст
patches
папку с файлом внутри, представляющим ваши изменения. Затем этот файл можно передать в git, а исправления можно будет восстановить позже, запустивnpx patch-package
(без каких-либо аргументов).Необязательный шаг:
Добавьте следующее в раздел сценария вашего package.json, чтобы автоматически исправить зависимость при выполнении «npm install».
источник
Я не хотел публиковать новый модуль и не хотел
npm install
перезаписывать свои изменения. Я нашел решение обеих этих проблем, но, вероятно, было бы лучше последовать совету @ Sdedelbrock. Но если вы хотите это сделать, вот как:package.json
файл, чтобы удалить зависимость, которую вы хотите изменить./node_modules
и переместите папку в другое место в репозитории, которое можно зафиксировать. Так что сейчас/node_modules/dependency
на/dependency
cd
в каталог зависимостей и введитеnpm link
cd
в корень каталога вашего проекта и введите.npm link dependency
Важно, чтобы вы делали это вне/node_modules
и/dependency
Если все сработало, теперь у вас должна быть символическая ссылка, созданная в
/node_modules/dependency
. Теперь вы можете запустить свой проект и посмотреть, работает ли он.источник