最近手里有个工作,为我们的分布式图计算引擎开发一个本地的服务器,类似于tomcat的localhost:8080或者hadoop yarn中localhost:8088一样,可以将日志等信息方便的展示到web界面中,因此简单的学习了一下如何使用js搭建本地服务器,毕竟据说js在引擎端还是有一定地位的。
express作为node.js平台下,简单的web应用开发框架,上手还是比较容易的,首先我们需要安装expess框架,步骤如下:
若已经安装好node,npm,则只需要一条命令即可:sudo npm install express --registry https://registry.npm.taobao.org,其中后面的--registry参数的作用就是解决国内镜像npm安装慢的问题。如果没有安装node、npm等环境,可以看一下我的这个方法:http://blog.csdn.net/lidongze0629/article/details/75305376
安装好express,我们就开始使用了,创建一个服务器文件,我把它命名为server.js,若想搭建一个最简单的本地服务器,只需要一下代码:
const express=require('express');
var app=express();
app.get('/',function(req,res){
console.log("my local server....")})
app.listen(8888,()=> {
console.log(`Server running at http://localhost:8888`);
})
解释一下:其中第一行是在js文件中加载进express模块,同理,如果还需要加载文件系统模块代码如下:var fs =require('fs');第二行得创建app对象,接下来通过
get方法指定当我们请求本地服务器时的根目录所返回的界面,alert()函数就不说了,用了就知道。最后,监听8888端口,当然这个端口可以自己任意指定,只要符合可用的端口范围。
到此为止,最简单的web框架本地服务器搭建好了,但是对项目没有任何作用,若想真正实现日志等信息的web显示,还需要一下知识:
1、文件系统,可以通过js文件读取本地的文件数据(比如日志),截取文件中我们需要的内容,存储起来,这样后台的数据便准备好了。
2、一个模板引擎(通俗的说,就是可以在web端显示数据的模板,该模板可以和后台的js中我们准备好的数据进行交互,在前台显示出来)
3、以上过程涉及文件的打开、读取,必要时需要遍历目录下的文件信息,这些都可以通过fs模块实现,当然更重要的是,需要前后台的数据交互,那么接下来我会陆续更新这些内容,如果有哪里说得不对的地方,希望你们多多指正。