#vue.js #nginx #vue-cli-3
#vue.js #nginx #vue-cli-3
Вопрос:
У меня есть настроенное приложение vue-cli, которое запускается в среде NGINX.
Каждый раз, когда запускается контейнер изображений, мы видим, что загрузка процессора увеличивается почти до 100%, затем падает, затем поднимается, а затем снова падает.
По-видимому, нарушающий элемент — «/app / node_modules/.bin / vue-cli-service»
Это препятствует доступу к сайту, и мы получаем ошибку 502.
Есть идеи, что может быть причиной проблемы.
Я рад предоставить любую другую необходимую информацию.
Вот мой файл dockerfile
FROM node:lts-alpine
RUN mkdir -p /app
COPY . /app
WORKDIR /app
RUN npm install
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
package.json
"scripts": {
"dev": "cross-env NODE_ENV=development vue-cli-service serve --port 3000",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"start": "cross-env NODE_ENV=production vue-cli-service serve --port 3000"
},
В vue.config.js
,
devServer: {
disableHostCheck: true
}
Ответ №1:
С учетом предоставленной вами ограниченной информации, похоже, что вы используете среду разработки в рабочей среде. Вместо этого вам следует создать производственный пакет, состоящий из статических ресурсов — файлов .html, .js, .css, изображений и т.д., и обслуживать его с помощью веб-сервера, подобного nginx
. Для получения более подробной информации вы можете прочитатьhttps://cli.vuejs.org/guide/deployment.html .
Комментарии:
1. Я собираю и развертываю аналогично тому, что описано в документах. Я добавил свой файл dockerfile, package.json, и vue.config.js для справки. Он должен заботиться о связывании и предоставлении производственной сборки.
2. Вы все еще работаете
vue-cli-service
(который использует under the hoodwebpack-dev-server
), даже если вы установилиNODE_ENV=production
. Вместо этого вы должны обслуживать встроенные ресурсы вdist
папке с помощьюnginx
(или любого другого веб-сервера). Вы пробовали использоватьDockerfile
описанный в cli.vuejs.org/guide/deployment.html#docker-nginx ?3. Большое вам спасибо. Я думал, что ранее опробовал рекомендуемую настройку, но, по-видимому, нет. Теперь это работает как по волшебству.