如何在 Node.js 服务器上部署 Vue.js 应用程序
Posted
技术标签:
【中文标题】如何在 Node.js 服务器上部署 Vue.js 应用程序【英文标题】:How to deploy a Vue.js application on Node.js server 【发布时间】:2019-02-13 05:25:00 【问题描述】:我有一个 dist 文件夹,其中包含 CSS、字体、JS 文件夹和一个为 Vue.js 最小化的 index.html
文件,可以部署和使用。我想使用 Node.js 来运行这个应用程序。 如何将其设置为仅运行 npm run server
并将其部署在请求的特定端口上? 不确定如何构建它,或者我是否需要以特定方式构建它以运行此 Vue应用程序。任何帮助将不胜感激。
【问题讨论】:
在你使用npm run serve
的开发模式下搜索另一个命令部署?
我很好奇如何设置这个(dist 文件夹/Vue 应用程序)以在特定端口上运行。此时无论是开发还是生产都没关系。只是希望能够查看它,同时使用npm run
(服务器或服务器开发)脚本设置为在节点上运行
【参考方案1】:
由于 Vue 只是一个前端库,托管它并执行诸如提供资产之类的操作的最简单方法是创建一个简单的 Express 友好脚本,您可以使用它来启动一个迷你 Web 服务器。如果您还没有,请快速阅读Express。之后,添加快递:
npm install express --save
现在将server.js
文件添加到项目的根目录:
// server.js
var express = require('express');
var path = require('path');
var serveStatic = require('serve-static');
app = express();
app.use(serveStatic(__dirname + "/dist"));
var port = process.env.PORT || 5000;
var hostname = '127.0.0.1';
app.listen(port, hostname, () =>
console.log(`Server running at http://$hostname:$port/`);
);
之后你可以运行:
node server
您的项目将在给定的主机和端口上提供服务
假设您已经拥有dist
目录,如果您没有运行它:
npm run build
为了生成它
【讨论】:
完美的解释。正是我需要做的。我确实在后端使用 express,所以这很有意义。谢谢以上是关于如何在 Node.js 服务器上部署 Vue.js 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
腾讯云部署golang flow流程,vue.js+nginx+mysql+node.js
如何创建服务于 Vue.js SPA 的 Node.js Express 应用程序?
在 Node.js 和 Vue.js 之间共享 TypeScript 代码
端口错误:heroku 中的 vue.js+node.js 项目
Node.js 和 Vue.js,为啥 Refresh 让 vue.js 的 store 清晰?我如何在 vue.js 中使用上传的图片?