如何将Node.js后端和Vue.js前端部署到同一Amazon EC2实例

时间:2019-07-02 12:14:25

标签: node.js express vue.js amazon-ec2

我有一个vuejs前端和一个快速的nodejs后端。但是我不知道如何将它们都部署到具有相同域名的相同Amazon EC2实例。请任何人可以帮助我吗?还是建议一种更好的方法?

2 个答案:

答案 0 :(得分:0)

nodejs与例如快递也可以投放静态内容。只需将您的vuejs文件放入static folder

答案 1 :(得分:0)

您可以合并两个存储库,并按如下所示部署后端和前端

  1. 在您的nodejs应用程序内,打开一个名为 client 的文件夹,并将所有Vue项目放入其中。
  2. 如果您使用的是Vue CLI,请按如下所示更改 vue.config.js ,以便在nodejs项目的根目录内创建一个dist文件夹,例如
const path = require('path');

module.exports = {
  outputDir: path.resolve(__dirname, '../dist'),
};

  1. 使nodejs应用程序的所有get / post端点都以 / api / 开头,以免与将所有请求重定向到除 / api / < / strong>路径。
  2. 运行 npm run build 在nodejs根后端文件夹中创建dist文件夹
  3. 如果您使用的是express.js,则将dist文件夹与nodejs express后端一起提供;

index.js

const express = require('express');
const app = express();

// Serve Vue Dist Folder 
app.use(express.static(__dirname + '/dist'));
app.get('*', (req, res) => res.sendFile(__dirname + '/dist/index.html'));