聊聊Node.js的模块化开发

本文给大家介绍关于Node.js的模块化开发,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

1.Node.js的模块化开发

node.js中的模块主要分为三类:内置模块、第三方模块和自定义模块。【推荐:node.js视频教程】

2.内置模块

Node运行环境提供的API. 因为这些API都是以模块化的方式进行开发的, 所以我们又称Node运行环境提供的API为系统模块。

常用的内置模块有:fs、os、path、EventEmitter、http。

1.系统模块fs(文件操作系统)

//读文件

fs.reaFile('文件路径/文件名称'[,'文件编码'], callback);

fs.readFile('../index.html', "utf8", (err,data) => {
    if (err != null) { 
        console.log(data);
        return;
    }
    console.log('文件写入成功');
});

//同步写入代码

console.log('start...')
var data = fs.writeFileSync('./abc.txt','hello')
console.log(data)
console.log('end...')

//异步写入代码

console.log('start...')
fs.writeFile('./hello.txt','hello world!',function(err){
    if(err) throw err
    console.log('success!')
})
console.log('end...')

2.系统模块path(路径)

path.dirname() 返回路径中代表文件夹的部分。

path.extname() 返回路径的扩展名。

3.events(事件触发器)

events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件触发与事件监听器功能的封装。

可以通过require("events");来访问该模块。

var events = require('events')

var emitter = new events.EventEmitter()

//绑定事件
emitter.on('abc', function(){
    console.log('abc事件执行了...')
})
//触发事件
emitter.emit('abc')

4.https(超文本传输协议)

配置服务器

var http = require('http')

//创建服务器对象
var app = http.createServer(function(req,res){
    res.write(&#39;<h1>hello</h1>&#39;)
    res.write(&#39;<ul><li>a</li><li>b</li><li>c</li></ul>&#39;)
    res.end()
})

//监听端口,开启服务
app.listen(8080, function(){
    console.log(&#39;server success!&#39;)
})

3.自定义模块

模块成员导出

module.exports = function() {
  // ...
}

模块成员导入

const 变量 = require(&#39;方法&#39;)

4.第三方模块

别人写好的、具有特定功能的、我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又称为包 。

以上就是聊聊Node.js的模块化开发的详细内容,更多请关注其它相关文章!