@beduin01

Можно ли запустить сайт написанный на NodeJS без NodeJS?

NodeJS начал использовать менее месяца назад. В качестве веб-фреймворка использую Vue.JS. Есть стойкое желание Node JS использовать только для разработки, а хостить приложение на другом сервере (не на NodeJS).

Однако как я понял это невозможно. К примеру у Vue часть логики выносится в .vue файлы и NodeJS их сама подгружает каким-то образом как шаблоны. Правильно ли я понимаю, что основная проблема в том, что NodeJS реализует поддержку директивы export без которой подобную подгрузку невозможно реализовать, или есть какие-то еще моменты?

Есть ли возможность эмуляции этой директивы чтобы я мог запустить указанный код к примеру на IIS?
  • Вопрос задан
  • 587 просмотров
Решения вопроса 1
@amokrushin
Node.js не подгружает никакие файлы *.vue (получите syntax error при попытке подключить .vue файл), этим занимается либо webpack c плагином vue-loader, либо browserify с плагином vueify, которые в свою очередь являются инструментами сборки клиентского кода в пакет (bundle) - отдельный файл в котором собран код со всеми зависимостями.
Этим инструментам для работы нужен Node.js, но то что у них получается на выходе, с node.js уже никак не связано - в этом коде не будет никаких require/export. Просто скопируйте эти файлы из директории build, подключите на страницу тегом script, link и хостите чем угодно, nginx, IIS. Разумеется речь идет только о клиентской части приложения.
Vue.js на ноду завязана только в одном месте - Server-Side Rendering, но это относится уже к серверной части приложения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
Я вот только не пойму, вот делаю я фронтэнд реакта, пишу на js jsx , дальше инструментами собираю его в проект, эти инструменты интерпритируются через node.exe ,дальше готовый билд заливаю на сервер и раздаю через нгинкс или апач, все. Но если я использую коа, экспресс или сокет ио к примеру, я запускаю их как сервис в ноде и только так. Думаю все зависит от задачи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы