Я хочу создать плагин, чтобы я мог загружать файл определенного типа с посылкой. В документах по пакетам указано, что:
Публикуйте этот пакет на npm, используя
parcel-plugin-
или@your-scope/parcel-plugin-
, и он будет автоматически обнаружен и загружен, как описано ниже.
...
Любые зависимости, перечисленные вpackage.json
с этими префиксами, будут автоматически загружаться во время инициализации.
Поскольку это одноразовая вещь, я не хочу публиковать код на npm в качестве плагина. Как загрузить мой проект-локальный плагин с посылкой?
Заранее спасибо.
Поскольку я не мог найти способ сделать это по- parcel
, я сделал это с помощью npm
:
Я создал папку с именем local_modules
(это может быть все, что вы хотите). Затем создался parcel-plugin-x
внутри local_modules
. Внутри я создал свой плагин, как обычно. Я также создал package.json
указанием main
точки входа. Вы можете указать зависимости, необходимые для модуля, как если бы это отдельный проект (ЭТО ЕСТЬ!).
{
"name": "parcel-plugin-x",
"version": "0.1.0",
"description": "Parcel plugin x",
"main": "index.js",
"devDependencies": {
},
"dependencies": {
}
}
Структура каталога:
project-folder---local_modules---parcel-plugin-x
|---package.json |
|---index.js
|---package.json
Затем я запустил npm я --save-dev.local_modules/parcel-plugin-x
внутри project-folder
. Он добавляет строку "parcel-plugin-x": "./local_modules/parcel-plugin-x",
в корневой "parcel-plugin-x": "./local_modules/parcel-plugin-x",
package.json
. Это стандартный способ загрузки локальных модулей в npm. И каждый раз, когда вы вносите изменения в плагин, вам нужно запустить npm upgrade
. Вы также должны увеличить версию своего плагина. Это копирует плагин в node_modules
и устанавливает зависимости.
Согласно документам parceljs:
Любые зависимости, перечисленные в package.json с этими префиксами, будут автоматически загружаться во время инициализации.
теперь это работает! :)
Я сделал что-то подобное, но по ссылке npm.
В папке плагина (parcel-plugin-x) просто запустите: npm link
.
В папке проекта с помощью плагина:
npm link parcel-plugin-x
package.json
вручную добавьте зависимость в parcel-plugin-x
package.json
"devDependencies": {
"parcel-plugin-x": "^0"
}
Каждый раз, когда вы вносите изменения в плагин, вам не нужно запускать npm upgrade
, но вам может понадобиться удалить папку .cache
созданную parcel, потому что parcel пропустит обработку кэшированных ресурсов.