Как развернуть проект NuxtJS на общем хостинге?

#javascript #vue.js #nuxt.js #shared-hosting

#javascript #vue.js #nuxt.js #виртуальный хостинг

Вопрос:

Я разработал проект NuxtJS локально и пытаюсь выяснить, как развернуть мой проект на хостинге с общим списком хостинг-провайдеров Host Gator.

Я хочу использовать функциональность рендеринга NuxtJS на стороне сервера, поэтому мне нужно будет запустить

 npm run build
  

Но как только я это сделаю, я не уверен, что правильные шаги для последующего развертывания этого созданного проекта на общем хостинге?

Комментарии:

1. Для запуска Nuxt требуется NodeJS, вы не сможете запустить его на общем хостинге, как с PHP CMS. Вам нужно использовать хостинг, который может запускать приложения NodeJS. Их там предостаточно.

Ответ №1:

Как говорит @AlexanderStaroselsky, вы не сможете успешно выполнить развертывание на общем хостинге, хотя это не потому, что вы не можете запустить node, вы, вероятно, можете, это потому, что вы не можете запустить обратный прокси после развертывания. Однажды я по глупости попытался развернуть приложение nuxt на общем хостинге Godaddy, и это был полный кошмар.

Я получил доступ к командной строке и установил node, перенес все файлы и запустил npm run build , а затем npm start . Все это прошло нормально, а затем я столкнулся с проблемой, как направить трафик в приложение nuxt. На общем хостинге вы используете файл .htaccess для направления на index.php или index.html но вам нужно создать правило перезаписи, чтобы направлять на http://localhost:3000 который вы можете включить в свое правило перезаписи, но, похоже, он блокирует правильное функционирование приложения. Я смог сделать приложение видимым, но у него не было никакой функциональности. Маршрутизация не работала, любые изображения, полученные через require('~/assets/images/...') , не отображались, и это было совершенно неработоспособно.

Что вам нужно, так это иметь возможность установить nginx для настройки обратного прокси, а виртуальный хостинг никогда не предоставляет привилегий root, чтобы вы могли его установить. Что вам нужно, так это облачный хостинг-провайдер, который предоставляет вам виртуальный сервер с полными правами root для установки nginx, node и любых других пакетов, которые вы можете захотеть. Существует множество доступных по цене (возможно, более доступных, чем виртуальный хостинг) и простых в использовании приложений, таких как digitalocean, aws, google cloud, upcloud и так далее.

Развертывание приложения nuxt может быть немного затруднено, особенно если вы используете rest api, и тем более, если вы хотите добавить ssl-сертификат, но для этого существует документация.

Все это говорит о том, что если каким-то чудом вы когда-нибудь найдете способ успешного развертывания на общем хостинге, дайте мне знать, и я смогу стереть пыль со своей учетной записи godaddy, за которую я по глупости несколько лет платил и которой не пользуюсь.

Комментарии:

1. Верно ли это даже при использовании статически сгенерированных файлов через nuxt generate или nuxt build amp;amp; nuxt export для SPA?

2. @Atenean1, я действительно не знаю, будет ли это работать со статическим сайтом, поскольку я пробовал только с универсальным сайтом (SSR). Теоретически это может быть возможно. Я думаю, вам все равно потребуется установить node. Если можете, попробуйте и дайте мне знать, работает ли это.

3. @Atenean1 только nuxt generate может быть развернут на общем хостинге, это означает, что это только статический веб-сайт. Но если вы используете universal, я не знаю, поэтому я здесь