模块化开发
require()引入一个外部模块;
module. exports()暴露模块接口;
// 暴露接口
function add(a,b){
return a + b;
}
module.exports = add;
// 引入外部模块
const add = require("./test.js"); //后缀.js可以省略
let result = add(30,50);
console.log(result);
在ES2015里 略有差异 import引入外部模块 export暴露模块接口 在VUE里会使用到ES2015,这里不做深入探究
外部模块的概念
分类
1.核心模块:核心模块是node自带的模块,可以在require引入后直接使用。
2.自定义模块:自定义模块是我们自己编写的,上面模块化的例子中,add.js文件就是一个自定义模块。引入自定义模需要完整的路径。
3.第三方模块∶使用npm下载的模块是第三方模块,下载完成后可以使用require直接引入。
核心模块
- fs 文件系统模块
fs.redFile 读取文件 第一个参数是文件路径,第二个参数是回调函数 函数内第一个参数是错误信息,第二个参数则是读取到的内容 使用data.soSrting()将二进制内容转换类型
- path 处理文件路径模块
path.join,可以设置多个参数 使用path.join(参数1,参数2,参数3)连接起来
- http 可以用来创建服务器 模块
通过http模块的createServer方法在本地创建一个服务器
createServer()创建一个服务器,内部一个回调函数 两个参数分别是req请求以及res响应,res.end可以返回请求内容。使用server.listen(1,2)可以修改端口,参数1是端口,参数二是一个回调函数,用来做提示。 使用nodemon可以创建一个自动重启的服务器,避免修改内容之后需要手动重启。