Загрузка локального плагина ParcelJS - PullRequest
0 голосов
/ 15 сентября 2018

Я хочу создать плагин, чтобы можно было загружать файлы определенного типа с помощью parcel.Parcel docs заявляет, что:

Опубликуйте этот пакет на npm с префиксами parcel-plugin- или @your-scope/parcel-plugin-, и он будет автоматически обнаружен и загружен, как описано ниже.
...
Любые зависимости, перечисленные в package.json с этими префиксами, будут автоматически загружены во время инициализации.

Поскольку это разовая вещь, я не хочу публиковать код на npm в качестве плагина.Как мне загрузить свой локальный плагин проекта с посылкой?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Я сделал что-то похожее, но со ссылкой npm .

В папке плагина (parcel-plugin-x) просто запустите: npm link.

В папке проекта с помощью плагина:

  • Ссылка на parcel-plugin-x: npm link parcel-plugin-x
  • В файле package.json вручную добавьте зависимость в parcel-plugin-x

package.json

"devDependencies": {
    "parcel-plugin-x": "^0"
}

Каждый раз, когда вы вносите изменения в плагин, вам не нужно запускать npm upgrade, но вам, возможно, придется удалить папку .cache, созданную участком, потому что участок будет пропускать обработку, сохраненную в кэшеактивы.

0 голосов
/ 16 сентября 2018

Так как я не мог найти способ сделать это 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 i --save-dev .local_modules/parcel-plugin-x внутри project-folder. Добавляет строку "parcel-plugin-x": "./local_modules/parcel-plugin-x", к корню package.json. Это стандартный способ загрузки локальных модулей в npm. И каждый раз, когда вы вносите изменения в плагин, вы должны запускать npm upgrade. Вы также должны увеличить версию своего плагина. Это копирует плагин в node_modules и устанавливает зависимости.

Согласно документам Parceljs:

Любые зависимости, перечисленные в package.json с этими префиксами, будут автоматически загружаться при инициализации.

теперь это работает! :)

...