Pattern Lab со вторым package.json

У меня настроена версия Pattern -node-gulp Pattern Lab, и я хотел бы использовать NPM для управления зависимостями пользовательского интерфейса, такими как jQuery, D3 и другие. Pattern Lab настроен так, что разработка происходит в папке "Source", которая соблюдается и перемещается в папку "Public". Корень папки Public становится корнем приложения при его обслуживании.

В настоящее время я включаю ресурсы, такие как jQuery и другие, вручную. Я думаю, что было бы здорово управлять такими зависимостями, как jQuery, прямо в файле package.json, который используется для запуска всего узла Lab Lab, но папка node_modules существует вне Public, поэтому я не могу ссылаться на нее в действующем приложении.

Пока что, похоже, у меня есть два варианта:

  1. Продолжайте как есть и забудьте управление пакетами для этих ресурсов.
  2. Создайте второй package.json внутри Public с jQuery и другими, что выглядит небрежно.

Создание второго package.json так плохо? Я не рассматриваю какой-то другой вариант?

1 ответ

Решение

Создать второй package.json не так уж и плохо (конечно, когда вы знаете, что и как делаете). Однако в вашем конкретном случае это не лучший сценарий, потому что есть лучшие варианты.

В чем проблема? Добавление активов в вывод сборки. Итак, что вы можете сделать:

  1. установить активы через npm install и сохраните их в оригинальной упаковке.
  2. адаптироваться gulpfile.js скопировать файлы в выходной каталог.

Если второй шаг слишком хакерский / проблемный, его также можно заменить на простой package.json scripts изменить (добавить build скрипт):

"scripts": {
  "gulp": "gulp -- ",
  "build": "npm run gulp && cp -R node_modules/jquery/dist/blablabla.js mypublicdir/blablabla.js"
},

а затем запустить его как npm run build, Если вам нужна поддержка Windows, вы можете использовать https://www.npmjs.com/package/cp-cli вместо cp,

Другие вопросы по тегам