-
自定义模块:(开发者自己定义的模块,每一个js文件都可以称为一个模块),开发者可以使用commonjs规范自己写的js文件,都称为自定义模块
-
内置模块:(由Node.js官方提供,如:fs、path、querystring等)
-
第三方模块:(由第三方开源出来的模块,使用前需要npm工具从npm社区下载)
1、自定义模块
(1)如何定义数据和功能函数(如何定义公共代码)
(2)外部如何使用定义的数据和功能函数
1. 自定义模块
开发者自己写的模块,官方定义:每一个js文件都是独立的模块(每个文件之间都是相互独立的)
require(参数是字符串) : 需要或引入的意思
/引入一个模块,注意:自己的模块必须用./或../开头
module.exports与exports的区别
node中模块化的底层原理:
就是函数 + 引用类型
向外暴露的永远是 module.exports 而 exports只是module.exports的一个影子而已
练习
去除空格
06.js文件
let m = require('./modules/mytrim')
// console.log( typeof m )
let str = ' aaa bbb '
console.log( "---"+ m(str) +"---")
mytrim.js文件
function myTrim(str){
let reg = /^\s+|\s+$/g
return str.replace( reg,'' )
}
// module.exports = {
// myTrim
// }
//如果一个js文件中,可能只有一个函数,那么我们可以如下写。
module.exports = myTrim
2、内置模块
url
有些内置模块不需要引入,是以全局变量的方式使用的。
比如:require / module / __dirname
URL(传递一个网址) //它是个构造函数
querystring
'username=zs&age=20' //网址中 ?后面的字符串 。专业术语叫 查询字符串参数 :英文叫querystring 。