Что самый разумный способ применить webpack к полноэкранному приложению node?
Я изучал веб-пакет уже пару недель, и я видел много примеров настроек на лицевой панели и, возможно, просто эту настройку для бэкэнд.
Я пытаюсь настроить приложение-ответ с помощью node back-end (например, express, koa, hapi и т.д.), где мне понадобится хотя бы один шаг транспиляции для back-end (например, babel, coffeescript, и т.д.), и я думаю, было бы неплохо использовать webpack там для согласованности и добавления другого механизма сборки в микс (например, gulp, grunt и т.д.).
было бы замечательно, если бы я мог внести изменения в бэкэнд и перезагрузить сервер автоматически (стиль просмотра).
Мне интересно, если лучший способ сделать это состоит в том, чтобы в основном иметь две разные настройки проекта с их собственными файлами package.json и webpack.config. возможно, вставьте папку back-end в папку server
в папке проекта верхнего уровня и используйте одну или несколько директив script в файле top.json верхнего уровня для управления двумя.
Я думаю, мне, возможно, придется проксировать один сервер другому, чтобы избежать проблем с CORS.
ищет какие-либо рекомендации от тех, кто тестировал больше, чем я для достойной настройки.
С уважением,
Тони.
Ответы
Ответ 1
Самый простой способ - разделить это на две задачи: шаг сборки, который выводится в папку (например, "сервер" ), а затем просматривать выходную папку для изменений и перезапуска задачи сервера.
1. Задача сборки
Это может быть в том же webpack.config, что и код построения клиента - вы можете экспортировать массив, и webpack будет смотреть все.
Пример webpack.config.js(верхняя половина для сервера)
module.exports = [
{
name: 'server code, output to ./server',
entry: './index.js',
output: {
filename: './server/index.js'
},
target: 'node'
},
{
name: 'client side, output to ./public',
entry: './app.js',
output: {
filename: './public/app.js'
}
}
];
Шаг 2.Watch
Для шага просмотра nodemon проверьте изменения и перезапустите. В противном случае вы можете добавить задачу на свой сервер server.js вручную, используя что-то вроде fs.watch или node-watch.