Node.js(1)-创建应用

概述

Node.js 为运行在服务端的 JavaScript。它是一个基于 Chrome JavaScript 运行时建立的平台,也是一个事件驱动 I/O 服务端的 JavaScript,基于 Google 的 V8 引擎。

Node.js 应用由以下部分组成:

  • 引入 required 模块:使用 require 指令载入 Node.js 模块

  • 创建服务器:服务器监听客户端请求。

  • 接收、响应请求

步骤

引入 required 模块

1
var http = require("http");

创建服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const server = http.createServer();//创建服务器

//给服务器绑定request事件,并使用匿名函数作为其回调函数
server.on("request", (req, res) => {
console.log(req.url); //输出请求的url地址

//通过normalize将URL规范成路径
//通过join将他和当前目录拼接起来
//__dirname代表当前文件所在目录
const doc_path = path.join(
__dirname,
"document_root",
path.normalize(req.url)
);
console.log(doc_path);

const ext = path.extname(req.url); //获取扩展名
let mime = { "Content-Type": "text/html" };
switch (
ext //指定对应的MIME信息
) {
case ".html":
case ".htm":
mime = { "Content-Type": "text/html" };
break;
case ".css":
mime = { "Content-Type": "text/css" };
break;
case ".ico":
mime = { "Content-Type": "image/x-icon" };
break;
}
//使用existSync判断文件是否存在
//使用extname去掉url目录,以防路径为目录,但目录里没有文件
if (path.extname(req.url) != "" && fs.existsSync(doc_path)) {
//Response里边会包含MIME信息以告诉浏览器这是个什么格式的文件
res.writeHead(200, mime); //输出状态码
content = fs.readFileSync(doc_path); //通过readFileSync读取文件内容
} else {
res.writeHead(404, mime);
content = "文件不存在";
}

res.write(content); //将内容写到request响应里去

res.end();//发送响应数据
});

server.listen(8080);//监听8080端口

执行代码

测试结果

  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020-2024 Aweso Lynn
  • PV: UV: