Как запустить приложение узла после производственной сборки с помощью WebPack, когда на выходе есть index.html? - PullRequest
0 голосов
/ 12 сентября 2018

*** Обновлено для уточнения: Большое спасибо за то, что нашли время ответить. Запуск npm run build (я использую шаблон Vuetify / Webpack) создал index.html и каталог с именем «static» с соответствующими html, css и js (в каталоге «dist»). Вопрос - как я могу запустить это в производстве, используя узел или pm2 (например, 'pm2 start myapp.js')?

Проводя дальнейшие исследования и тестирование, сборка npm выполняется как статическая. Это был мой недостаток понимания того, как vue-cli собирался для производства (через WebPack) (vue-cli строит статический файл, предназначенный для обслуживания через веб-сервер). Выполняя дальнейшее тестирование, я могу загрузить и запустить свое приложение на паре локальных серверов Linux (статический контент работает на одном сервере, в то время как MongoDB и API работают на другом сервере (API работает с pm2)). Кроме того, я смог включить его в AWS S3 (как статичный). Я думаю, что у меня есть свой ответ сейчас. Большое спасибо за ваше время.

*** Исходное сообщение: Как запустить следующее приложение узла в производстве? Сборка Webpack создала index.html (я предполагаю, что он использует html-webpack-plugin). Я могу просматривать сайт, если я работаю на веб-сервере (например, nginx), но я хочу запустить свое окончательное приложение, используя pm2, или запустить процесс узла.

Я использую шаблон Vuetify WebPack (я использую Vue.js), когда я запускаю сборку npm run для производства (в package.json: “build”: “node build/build.js”), вывод выглядит следующим образом:

$ ls
index.html static/

и

$ ls static/js/
app.f7301c212bc5fefd6563.js manifest.2ae2e69a05c33dfc65f8.js vendor.1aae36aa0dc798d4d36d.js
app.f7301c212bc5fefd6563.js.map manifest.2ae2e69a05c33dfc65f8.js.map vendor.1aae36aa0dc798d4d36d.js.map

Итак, как мне запустить это через узел (начало npm) или pm2 (начало pm2) (нельзя использовать файлы index.html или static / js).

Когда я запускал сборку веб-пакета, я ожидал, что выходной файл .js (например, «build.js») будет запущен через узел или pm2 (запуск npm, запускающий «узел build.js» или запуск PM2 build.js). Я предполагаю, что это будет работать для безсерверных серверов, но он рассчитывал запустить через pm2 (с прокси-сервером nginx), так как приложение будет иметь другие факторы (например, MongoDB), которые не позволяют работать в режиме без сервера (например, AWS Lambda).

Будет ли это просто переконфигурировать WebPack для вывода в файл .js (например, build.js), или статические файлы (обслуживаемые через веб-сервер, nginx / Apache / http-server) позволят для той же функциональности? То есть будут ли какие-либо факторы, которые будут ограничивать мое приложение, выполняя как статические стихи через 'node build.js' или 'pm2 start build.js' (например, будет ли мой API подключаться к серверной части по-прежнему работать ( Бэк-энд, являющийся узлом / JS))?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...