最火下载站首页
手机版
最火下载站
关注公众号
最火下载站

当前位置:首页 > 网络知识 > Web前端 > 工具与技巧> Node.js 学习笔记

Node.js 学习笔记

文章作者:网友投稿 发布时间:2019-06-14 13:32:39 来源:网络

Node 是一个让 JavaScript 运行在服务端的开发平台,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 下

Node 是一个让 JavaScript 运行在服务端的开发平台,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。下面我们一起简单地学习一下吧!


1、Node 下载链接:  


2、Node 优点:

  1)RESTful API

  2)单线程

  3)非阻塞 IO

  4)V8虚拟机

  5)事件驱动


3、常用模块:

Node 使用 Module模块 去划分不同的功能,以简化应用的开发。

模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。当然,可以将某些方法和变量暴露到模块外,这个时候可以使用exports对象去实现。


----------  http 模块

1)使用http模块构建web服务器步骤:

    -加载http模块:const http = require('http');

    -创建服务器实例:server = http.createServer()

    -启动服务器:参数1-监听的端口号;参数2是启动成功后触发的回调函数

http1.png

    -注册服务器事件(定制服务器功能):server.on('request',(req,res)=>{ res.end('hello node.js') } );

参数1是事件类型,request代表监听浏览器请求。

参数2是一旦有浏览器请求就会触发回调函数:参数1是请求对象req,参数2是响应对象res。res.end能将参数内容返回给浏览器。

http2.png

2)req 和 res 总结:

        req 对象中几个比较重要的方法:

            -req.url    //保存了当前请求的url地址

            -req.method    //保存了当前请求的方法 post get

            -req.headers    //保存了当前请求头信息

        res 对象:响应是由响应行、响应头、响应体组成的。

            -res.setHeader();设置响应头

            -res.writeHeader();设置响应状态码和响应头,对象形式一次性可以设置多个响应头。

            -res.write();设置响应体

            -res.end();将响应行、响应头、响应体一次性返回给浏览器

3)加载服务器的几个步骤:

http3.png

---------- url 模块

1)url 是 node 提供的系统模块,使用该模块能够将get地址分解,并提取其中的参数。

核心方法:url.parse(var1,var2);     // 可以将一个 url 的字符串解析并返回一个 url 的对象

参数1:get地址,参数2:布尔值 true / false   // 默认是 false,表示不将 jquery 转为对象

url1.png

url2.png

url.parse(req.url);    // 解析 URL 字符串并返回 URL 对象

还有两个方法:

url.format(urlObj)

  format这个方法是将传入的url对象编程一个url字符串并返回

url.resolve(from,to)

  resolve这个方法返回一个格式为"from/to"的字符串,在宝宝看来是对传入的两个参数用"/"符号进行拼接,并返回


2)使用url模块拆解url地址,只需要pathname即可


---------- fs 模块

fs是 node 提供的系统模块,该模块用于对系统文件及目录进行读写操作


1)异步读取:

  fs.readFile( url , code , callback);

2)同步读取:

  fs.readFileSync( url , code );

fs.png

3)写入文件:

fs.writeFile(filename, data[, options], callback)

  如果文件存在,写入的内容会覆盖旧文件内容

    参数使用说明如下:

      path - 文件路径。

      data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。

      options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 ,flag 为 'w'

      callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

fs1.png

4)读入文件:

fs.writeFile(filename, data[, options], callback)

  如果文件存在,写入的内容会覆盖旧文件内容

    参数使用说明如下:

      path - 文件路径。

      data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(流) 对象。

      options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 ,flag 为 'w'

      callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

fs3.png

---------- path 模块

path 模块提供了一些工具函数,用于处理文件与目录的路径。

常见方法:

1)path.join() 方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。

长度为零的 path 片段会被忽略。 如果连接后的路径字符串是一个长度为零的字符串,则返回 '.',表示当前工作目录。

path1.png

2)path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。

给定的路径的序列是从右往左被处理的,后面每个 path 被依次解析,直到构造完成一个绝对路径。

path3.png

3)path.normalize() 方法会规范化给定的 path,并解析 '..' 和 '.' 片段。

当发现多个连续的路径分隔符时(如 POSIX 上的 / 与 Windows 上的 \ 或 /),它们会被单个的路径分隔符(POSIX 上是 /,Windows 上是 \)替换。 末尾的多个分隔符会被保留。

path2.png

以上是小编对 node 的了解,希望能帮到大家,谢谢!

上一篇: React、JSX以及Render函数基本使用教程

下一篇: ES6 新语法学习

共有0条评论网友评论