资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Node.js的模块化开发实例分析

这篇文章主要讲解了“Node.js的模块化开发实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js的模块化开发实例分析”吧!

成都创新互联公司于2013年创立,先为高唐等服务建站,高唐等地企业,进行企业商务咨询服务。为高唐企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1.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('

hello

')     res.write('
  • a
  • b
  • c
')     res.end() }) //监听端口,开启服务 app.listen(8080, function(){     console.log('server success!') })

3.自定义模块

模块成员导出

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

模块成员导入

const 变量 = require('方法')

4.第三方模块

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

感谢各位的阅读,以上就是“Node.js的模块化开发实例分析”的内容了,经过本文的学习后,相信大家对Node.js的模块化开发实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前题目:Node.js的模块化开发实例分析
URL网址:http://cdkjz.cn/article/ijogpd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220