node.js基础使用2--模块

模块介绍

1.什么是模块

        每个js文件都可以是模块,能够实现一定的功能,方便开发和维修。模块化开发可以让程序员在开发过程中分工合作,每个功能写一个模块,每个模块都有一个操作,最后只需要在主模块中引入,即可使用别的模块,达到整合效果。

2.模块的分类

(1)官方模块

        node.js官方模块,就是自己自带的模块,不需要下载,可以直接使用,大概20几个,常用的也只有几个,也正是因为官方模块提供的东西少,加上使用的是Google浏览器的v8引擎,所以速度非常快,这也是node.js最大的特点。

(2)第三方模块

        node.js除了官方模块,还有许多模块,需要下载并且引入,才能使用,在npm中文官网,里面可以查找和下载。

(3)自定义模块

        自己写的模块,可以选择公开内容,其他模块想要使用这个模块,只需要引入即可。

常用的官方模块

## 注:引用模块的方法,var  变量名 = require('模块名')  例:  var qs = require('requrystying') 

1.Global 模块

介绍:全局模块,提供了一些全局变量一共五个,不需要引用,可直接使用

预定义变量:

(1)__filename: 当前文件的完整的绝对路径

可以用来拼接子文件的绝对路劲

 (2)__dirname:当前文件的绝对路径(不包括本文件名)

 (3)exports:一个空对象,公开和暴露自己的成员(方便其他模块引用后使用)

(4)require:一个函数,引入其他模块

(5)module:指代当前模块本身,包含了其他4个变量

2.QueryString模块

介绍:需要先引入才能用,可以用来查询字符串,提供了解析url的查询字符串部分的功能,想要获取到前端传来的某一部分:obj.键名;(面对完整的url则解析不了,后面有个更好用的)

//引入querystring
var qs = require('querystring');
var str = "name=dy&pwd=123123&vip=1";
//使用parse方法可以将str拆分用字典封装
var obj = qs.parse(str);
console.log(obj);
console.log(obj.name);
console.log(obj.pwd);
console.log(obj.vip);

当传来的是完整的url时候

var qs = require('querystring');
var str = "https://www.baidu.com/html/index.html?name=dy&pwd=123123&vip=1";
var obj = qs.parse(str);
console.log(obj);
console.log(obj.name);
console.log(obj.pwd);
console.log(obj.vip);

 则会出现解析错误

 3.url模块

介绍:需要引入才能使用,可以解析完整的url

//引入url模块
var url = require('url');
var str = "https://www.baidu.com/html/index.html?name=dy&pwd=123123&vip=1";
//用parse进行解析
var objUrl = url.parse(str, true); // 加true将query拆分成对象,也可不加第二个变量,就不拆分
console.log(objUrl);
console.log(objUrl.query.name);

4.Buffer模板

介绍:缓冲区,可以将数据变为一个16进制的数字

var buf = Buffer.from("hello world");
console.log(buf);

 5.fs模块

介绍:需要引入, 可以对文件进行操作,而且都是异步操作,意思就是,快!

//引入fs模块
const fs = require('fs');
//异步进行覆盖写入
fs.writeFile("./html/readme.txt", "明天就是星期四,天气好。", (err) => {
	console.log("写入完毕");
})
//异步进行追加写入
fs.appendFile("./html/readme.txt", "明天就是星期五,天气更好。", (err) => {
	console.log("写入完毕");
})
//异步进行读取
fs.readFile(__dirname + "/html/readme.txt", (err, buf) => {
	console.log(buf.toString());
})

var buf = fs.readFileSync("./html/readme.txt");
console.log("后续代码");

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值