1、由于项目本身为前后端分离,但前端页面和后端代码是同一个项目中,需要将前端服务单独拆分出来,初步考虑生产使用nginx前端+反向代理到后台,考虑开发的方便,打算使用nodeJs作为前端独立项目调试工具。
2、文件夹增加server.js 内容如下:
const express = require('express');
const path = require('path');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
//静态资源
app.use(express.static('resources'));
app.use('/resources', express.static('resources'));
app.use('/pages', express.static('pages'));
//反向代理
app.use("/", createProxyMiddleware({target:'http://localhost:8000/ippc-web-dzsq-test/',changeOrigoin:true}));
//监听服务
const PORT = 8080;
app.listen(PORT, () => {
console.log('HTTP Server is running on: http://localhost:%s', PORT);
});
使用express+http-proxy-middleware实现服务和代理。
使用如下命令启动服务:
node server.js
3.考虑前端开发时代码调整浏览器自动刷新功能。
使用browser-sync组件,官网为:http://www.browsersync.cn/
安装 BrowserSync
cnpm install -g browser-sync
使用如下命令即可代理步骤2中启动的服务,并且监听目录下html文件,实现当文件更新时浏览器自动刷新
start browser-sync start --proxy "localhost:8080" --files "pages/**/*.html,resources/**/*.html"