http模块
这是一个内置的模块 提供了一些http服务的功能
这里只做基本的功能介绍 不做详细的解释说明
创建个web服务器
- 导入http模块:const http = require(“http”);
- 创建服务器:使用 const server = http.createServer() 创建服务器;
- 绑定监听事件:通过 server.on(‘request’, function(req, res) { 请求的处理函数 }) 绑定事件 并 指定 处理函数;
- 启动服务器:通过 server.listen(端口, IP地址, 启动成功的回调函数) 来启动服务器;
- res.end() 向客户端发送内容
|
然后运行我们就可以在浏览器进行访问 http://127.0.0.1:3000/
即可
响应中文内容乱码
在上面代码里面返回的 你好世界 这些中文字是乱码的状态
这时候我们就需要设置响应头部 Content-Type
|
路由
我们需要访问 index
的时候是首页 然后访问 info
的时候是个人信息的页面
也就是说 根据不同的URL返回不同的文本内容
我们需要使用 req.url
进行判断现在访问的到底是什么页面
|
这样我们就可以 访问不同的url 进入不同的页面了!
这时候我需要返回响应页面的 样式也就是html 就需要使用到 fs模块
我们通过使用 fs模块的读取信息进行 获取html里面的内容然后返回给我们的页面
|
页面如果很大的话性能会有损失 那么我们可以使用流方式
|
引入js或者css的时候需要注意 mime 规则
什么意思呢 就是我一开始启动服务器的时候 设置的相应头 content-type
的值是 text/html;charset=utf-8
但是这个对css也设置这个相应头的话 css 文件就不会生效并且会给你报个警告
path模块
我们可以引入path模块进行获取到文件后缀的拓展名
然后进行引入mime
规则 设置 content-type
|
path.extname(path)
返回 path
的扩展名 即 path
的最后一部分中从最后一次出现 .
(句点)字符直到字符串结束
|
path.join([…paths])
会将所有给定的 path
片段连接到一起(使用平台特定的分隔符作为定界符)然后规范化生成的路径。
长度为零的 path
片段会被忽略。
如果任何的路径片段不是字符串,则抛出 TypeError
。
|
path是一个对路径操作的模块 还有很多功能 可以去看看文档进行学习
这里你们会好奇这个 mime 是什么?
mime
多用途互联网邮件扩展类型
是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
总结来说:你得告诉浏览器是用什么方式去打开什么文件
在百科里面可以找到 类型大全也就是所有的类型的
是一个对象可以存到json里面然后用 require
进行引入就可以直接转换成对象
所以我才可以 mime[ext]