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, поэтому я не могу ссылаться на нее в действующем приложении.
Пока что, похоже, у меня есть два варианта:
- Продолжайте как есть и забудьте управление пакетами для этих ресурсов.
- Создайте второй package.json внутри Public с jQuery и другими, что выглядит небрежно.
Создание второго package.json так плохо? Я не рассматриваю какой-то другой вариант?
1 ответ
Создать второй package.json не так уж и плохо (конечно, когда вы знаете, что и как делаете). Однако в вашем конкретном случае это не лучший сценарий, потому что есть лучшие варианты.
В чем проблема? Добавление активов в вывод сборки. Итак, что вы можете сделать:
- установить активы через
npm install
и сохраните их в оригинальной упаковке. - адаптироваться
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
,