超简单的nodejs静态网页服务器
使用 nodejs 进行后端开发有一个非常方便的地方是它可以不依赖于其他的服务器软件,比如 tomcat 之类的。这里对我使用 nodejs 写的一个静态网页服务器做一个简单的总结
在这里使用到了以下模块:
- http:相应基本的 http 请求
- fs:读取文件并返回
- path:获取文件的路径
- url:解析 url
第一步,创建一个最基本的服务器
let http = require('http');
let server = http.createServer(function(request, response){
response.end();
})
server.listen(8000);
这个服务器监听着 8000 端口的请求,但是由于没有任何处理函数,所以只是一个空架子
第二步,确定文件的路径
这一步就要依赖于我们的 fs、path和url 模块了
首先,我们通过 path 模块确定静态页面和资源文件所在的目录:
__dirname
可以直接获得当前目录的绝对路径,针对下面所示的目录结构可以写如下语句
|- serve.js
|- public
|- index.html
|- CSS
|- JS
|- Image
let staticPath = path.resolve(__dirname, 'public');
然后,我们要通过 url 模块,得到我们要访问的页面,利用我们的url模块进行解析
同时我们在访问目录的时候通常会直接访问到 index.html 我们也可以知青其中默认打开的页面:
let pathname = url.parse(request.url, true).pathname;
if (pathname == '/') {
pathname = '/index.html';
}
如此一来就可以得到要访问的页面的绝对路径