前端免安装Nginx 部署

45 篇文章 1 订阅
26 篇文章 0 订阅

1. 初始化文件夹
cd /tmp
mkdir compiler-frontend && cd compiler-frontend
npm init
npm install express http-proxy-middleware compression undici --save

2. 新建静态服务文件
touch server.js
编辑文件: vi server.js

​
const express = require('express') // express
const { createProxyMiddleware } = require('http-proxy-middleware')
const compression = require('compression')
const { request }= require('undici')

/* 设置前端部署端口 */
const SERVER_PORT = 8086
/* 设置后端接口地址 */
const baseProxyUrl = 'http://xxx.xxx.xx.xxx:8000'

/* 前端文件存放地址 */
const os_url = 'https://xxxxxxxxxx/xxx/v1.0.0/'

/* 代理配置参考webpack proxy table
*  后端接口代理
*/
const devProxy ={
'/img/':{ // 后端接口前缀
  target: baseProxyUrl,
  changeOrigin: true,
  secure: false,
  https:true,
 },
'/var/':{  // 后端接口前缀
  target: baseProxyUrl,
  changeOrigin: true,
  secure: false,
  https:true,
 },
'/server/':{  // 后端接口前缀
  target: baseProxyUrl,
  changeOrigin: true,
  secure: false,
  https:true,
 },
}

const app = express()
app.use(compression())
Object.keys(devProxy),forEach(function (context) {
   app.use(context, createProxyMiddleware(devProxy[context]))
})

app.get('*', async (req, res)=> {
  res.type('html')
  const { statusCode, body}= await request(os_url + 'index.html')
  if (statusCode !== 200) {
   res.statusCode(statusCode).json({ msg:'错误', code:statusCode })
   return 
  }

  const page = await body.text()
  const result = page.replace(/\"\//g, `"${os_url}`).replace(`window.routerBase =
  "${ os_url }"`, 'window.routerBase ="/"')

  res.send(result)
})

app.listen(SERVER_PORT, ()=>{
  console.log(`server is running at :http://localhost:%s/...`,SERVER_PORT)
})

​

3. 修改packagejson
"scripts":{
    "start": "node server.js",
},

4.启动
npm run start
访问
http://本机ip:8086

注意:将本地文件夹上传到服务器指定目录
scp -r build root@168.10.36.55:/usr/local/nginx/html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值