泛微Ecology 9代码块开发框架:内置Web服务器

问题

通过Web访问本地构建出来的脚本文件,是我们这套开发框架的核心组成部分之一。目前是通过外置Web服务器nginx来实现的。

新开发人员加入团队时,除了要拉取和启动代码库本身,还要去安装、配置、启动nginx,比较麻烦,也容易出错,因为大家对nginx都不怎么熟悉。

因此,希望将Web服务器内置到开发框架中,只需要启动开发框架这一处就能开始开发,就像Create React App框架的npm run start命令那样。

技术选型

使用基于Node.js的后端框架Express实现内置Web服务器。

实现

安装依赖express。

本地Web访问只在开发时需要,因此只在持续构建模式下运行内置Web服务器。

在持续构建模式下,创建Express应用,响应dist/中的静态文件,然后监听8000端口。

// Express应用
const app = express();
// 响应dist/中的静态文件
app.use(express.static(DIST_DIR_PATH));
// 监听8000端口
app.listen(8000, () => console.log("Web服务器已启动"));

注意:要先停掉nginx服务器,并移除nginx中的配置,避免端口号冲突。