如:
初始化文件夹
cd /tmp
mkdir compiler-frontend && cd compiler-frontend
npm init
npm install express http-proxy-middleware compression undici --save
新建静态服务文件
touch serverjs
vi serverjs
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'
/* 代理配置参考webpack proxy table
*暂不支持 https
*/
const devProxy ={
'/service/':{
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(oss_url + 'index.html')
if (statusCode !== 200){
res.statusCode(statusCode)json
({ msg:'错误', code:statusCode })
return
}
const page = await body.text()
const result = page.replace(/\"V/g,`"${oss_url}`).replace(`window.routerBase =
"$f oss_url }"`, 'window.routerBase ="/"')
res.send(result)
})
app.listen(SERVER_PORT, ()=>{
console.log(`server is running at :http://localhost:%s/...`,SERVER_PORT)
})
修改packagejson
"scripts":{
"start":"node serverjs",
},
启动
npm run start
访问
http://本机ip:8086