zoukankan      html  css  js  c++  java
  • 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()方法用于添加或者替换地址。

  • 相关阅读:
    JUnit4.13环境配置
    OO第5-7次作业总结
    电梯的一点浅优化
    C++变量作用域、生存期、存储类别
    最后一次OO博客
    OO第三次总结
    OO第二次总结
    OO第一次总结
    POJ3934
    POJ刷题计划
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/10593547.html
Copyright © 2011-2022 走看看