Как сохранить ваш dev-стек отдельно от вашего проекта?
Я думаю о том, как сохранить мой JS dev-stack отделенным (обновляемым) от моего проекта.
Ситуация такова: я только что создал свой первый dev-стек на основе Webpack, и я хочу начать создавать первый проект на основе этого dev-стека. Но что, если когда-нибудь в будущем я решу, что хочу изменить некоторые основные функциональные возможности dev-stack (например, некоторые изменения с моими плагинами Webpack). Теперь мне нужно внести эти изменения как в dev-стек, так и во все проекты, основанные на этом dev-стеке.
Какова лучшая практика работы с подобной ситуацией?
1 ответ
Похоже, вы хотите что-то вроде модульной системы: определите пакет в одном месте и используйте его в нескольких проектах. Учитывая, что вы работаете в JS, вы можете рассматривать каждую часть, которую хотите изолировать, как модуль узла. Обычно это означает публикацию модуля в NPM, но вы можете в качестве альтернативы поместить каждый из них на github и ссылаться на местоположение github в package.json каждого из ваших проектов. Этот шаблон определения зависимостей проекта, которые извлекаются из централизованного репозитория, довольно распространен, даже когда зависимости являются вашими и вашими проектами.
Если вы хотите работать как с зависимостями, так и с проектами, которые используют их параллельно на локальном компьютере, одно из приемлемых решений npm link
, https://docs.npmjs.com/cli/link Это позволяет заменить зависимость в проекте узла на символическую ссылку на локальную копию этой зависимости. npm будет использовать вашу локальную версию модуля вместо того, чтобы пытаться извлечь его из удаленного местоположения, так что вы можете легко протестировать и внести изменения в зависимость без необходимости публиковать ее или вручную копировать и вставлять между двумя проектами.