Nodejs基础知识2

5. http模块

5.1IP 点分十进制 a.b.c.d 其中每个字母取值0-255之间

5.2域名和域名服务器Domain Name

5.3DNS服务器将域名解析为IP

5.4端口号,每个web服务对应唯一的端口号,每个端口号不能被多个端口号占用,

5.5创建web服务

const http = require('http')

const server = http.createServer()//创建服务

server.on('request',function(req,res){

//绑定request事件

})

//启动服务

server.listen(8080,function(){

console.log('server running at localhost')

}

)

5.6 request 请求

req.url //请求地址

req.method //请求方法

5.7 respond

res.end() //调用res.end()方法 ,向客户端发送文本内容

5.8解决中文乱码

设定响应头,需要在res.end()上面

res.setHeader('Conten-Type','text/html:charset= utf-8')

5.9不同请求地址,不同内容

获取url地址;设置默认响应内容;判断用户是否请求/ 或 index.html

判断用户请求是否为/about.html;设置Content-Type 请求头

使用res.end()把内容响应给客户端

6时钟案例

把文件的实际存放路径作为每个资源的请求url地址

服务器充当的角色就是一个字符串的搬运工

7模块化

7.1模块化概念

小霸王游戏机,卡带与整体可以拆分。编程过程中把大文件拆成独立互相依赖的多个小模块。把复杂的问题拆分为多个小模块。

模块化好处:好处多多,能用就用

模块分类:内置(fs、path、http)自定义(.js文件)第三方模块(既不是官方也不是自己开发的模块)//软件官方,本人,其他人

加载其他模块,会执行被加载模块中的代码。

const custom = require('./custom.js') //加载自定义模块 可以省略.js

const moment = require('moment') //加载第三方模块

模块作用域:在自定义模块中变量、方法、只能在当前模块内被访问。用来防止全集变量的污染

module 对象 ,用此对象来对外暴露块作用域内的,内部有一个exports对象

当使用require()方法导入自定义模块时,得到就是module.exports所指的对象。导入的结果以module.exports为准

默认情况下 exports 和module.exports 指向的同一个对象

7.2CommJS规范

7.3Node.js中模块的三大分类

7.4npm管理包

7.5规范的包结构

7.6了解模块的加载机制

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容