Node核心模块

在Node中,模块主要分两大类:核心模块和文件模块。核心模块部分在 Node 源代码的编译过程中,编译进了二进制执行文件。在 Node 进启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引入时,文件定位和编译执行这两个步骤可以省略掉,并且在路径分析中优先判断,所以它的加载速度是最快的。如:HTTP 模块 、URL 模块、Fs 模块都是 nodejs 内置的核心模块,可以直接引入使用。

http模块

在我们使用PHP编写后台代码的时候,通常需要Apache或者ngnix的http来处理客户端的请求响应。不过对node.js来说,概念完全不一样了,使用Node.js时,我们既能实现一个应用,也能实现整个http服务器。

基本使用

1,使用http模块的时候,首先需要引入该模块

2,然后使用createServer创建一个服务器,

3,并且监听端口

最后运行程序:打开终端,切换到文件的根目录,执行命令node 文件名再回车就可以了。

程序启动后,在浏览器中打开http://localhost:8888/,就会在终端中看到相关的打印

此时,我们会发现浏览器的地址栏出一直处于加载状态,因此需要在服务器的回调函数中执行end方法来是web服务器停止处理脚本并返回当前结果。

另外,在上面,我们使用的是默认的localhost,但是有的时候,localhost是被占用了,需要使用其他的IP来运行,只需要在监听端口处添加IP作为第二个参数就可以了。

 

这里默认会有两个请求,第二个是地址栏图标的请求。

添加响应

在上面的回调函数中使用到了两个参数:req表示请求,res表示响应,如果要给请求添加响应,首先需要设置一个响应头,在这个响应头中指定http状态码,文件类型和字符集

然后使用write添加响应内容

完整代码如下

 既然req是表示请求,里面最重要的就是req.url了,通过req.url拿到了用户的请求地址后,如何解析出我们想要的数据,就需要用到URL模块了。

URL模块

和使用http模块一样,使用URL模块,也是需要先引入再使用,在URL模块中,主要有一下三个方法会经常被用到。

url.parse()

这个方法主要用来解析URL

 在上面的http模块中已经提到了,每次都会发出两个请求:IP请求和图标请求,所以下面过滤一下图片请求,然后添加一个复杂的请求。

此时,虽然我们打印出了请求的用户名和密码,但是如果想要获取这些信息,还需要在url.parse中添加第二个参数,将query里面的字段格式化。

 

 url.format()

 url.format()是url.parse()的逆操作。

 

运行程序,刷新浏览器,就可以看到终端的打印

url.resolve()

 url.resolve()方法用于添加或者替换地址。

原文地址:https://www.cnblogs.com/yuyujuan/p/10593547.html