2016-12-23 2 views
4

У меня есть проект, который имеет отдельный внешний интерфейс (WebPack) и бэкенд (экспресс/MongoDB), который я хотел бы отделитьpackage.json в то же время о том, чтобы разделить некоторую логику/служебный код между ними. Как я могу организовать свою файловую структуру, чтобы я мог соответствующим образом отделить свои зависимости.Разделительная package.json для интерфейса и серверной с общим кодом

Сейчас это моя файловая структура, которая и во внешнем интерфейсе и бэкенд один и те же node_modules

app 
| 
| - frontend 
| | - index.js 
| | - src 
| 
| - backend 
| | - index.js 
| | - models 
| | - api 
| | - statics (webpack builds into here) 
| 
| - lib 
| | - logic here (may require npm dependency) 
| 
|- package.json 
|- webpack.config.js 

Я мог бы легко разделить их на 2 НПХ проекты, если они не как требуют Lib каталога, но это будет по существу означает, что мне нужно скопировать код в обе папки. Есть ли лучший способ достичь этого?

ответ

1

В итоге я превратил свой проект в monorepo и использовал https://lernajs.io/, чтобы соединить их. Наличие каждой папки в отдельном проекте npm.

Недостаток, который я обнаружил, заключается в том, что процесс установки пакета (npm install) занимает гораздо больше времени, поскольку каждый подпроект много устанавливается отдельно, многие из которых содержат дубликаты пакетов.

+0

Вы можете использовать опцию lerna's hoisting. –

Смежные вопросы