位置: 编程技术 - 正文
在Node.js中对模块载入和执行进行了包装,使得模块文件中的变量在一个闭包中,不会污染全局变量,和他人冲突。
前端模块通常是我们开发人员为了避免和他人冲突才把模块代码放置在一个闭包中。
如何封装Node.js和前端通用的模块,我们可以参考Underscore.js 实现,他就是一个Node.js和前端通用的功能函数模块,查看代码:
通过判断exports是否存在来决定将局部变量 _ 赋值给exports,向后兼容旧的require() API,如果在浏览器中,通过一个字符串标识符“_”作为一个全局对象;完整的闭包如下:通过function定义构建了一个闭包,call(this)是将function在this对象下调用,以避免内部变量污染到全局作用域。浏览器中,this指向的是全局对象(window对象),将“_”变量赋在全局对象上“root._”,以供外部调用。
和Underscore.js 类似的Lo-Dash,也是使用了类似的方案,只是兼容了AMD模块载入的兼容:再来看看Moment.js的封装闭包主要代码:从上面的几个例子可以看出,在封装Node.js和前端通用的模块时,可以使用以下逻辑:即,如果exports对象存在,则将局部变量装载在exports对象上,如果不存在,则装载在全局对象上。如果加上ADM规范的兼容性,那么多加一句判断:
推荐整理分享Node.js中对通用模块的封装方法(node.js 作用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:node.js用途,node.js 作用,node.js基本语法,node.js适用哪些场景,nodejs优点和使用场景,node.js的使用场景,node.js用途,node.js用途,内容如对您有帮助,希望把文章链接给更多的朋友!
使用GruntJS构建Web程序之合并压缩篇 有如下步骤:1.新建项目Bejs2.新建文件package.json3.新建文件Gruntfile.js4.命令行执行grunt任务一、新建项目Bejs源码放在src下,该目录有两个子目录asset和js。j
使用GruntJS构建Web程序之Tasks(任务)篇 如何自定义Grunt任务有时我们需要写一些自己的grunt任务,下面是一个具体例子一、准备1.新建一个目录g.新建package.json,放入g.新建Gruntfile.js,放入g1p
使用Node.js实现一个简单的FastCGI服务器实例 本文是我最近对Node.js学习过程中产生的一个想法,提出来和大家一起探讨。Node.js的HTTP服务器使用Node.js可以非常容易的实现一个http服务,最简的例子如
标签: node.js 作用
本文链接地址:https://www.jiuchutong.com/biancheng/374334.html 转载请保留说明!友情链接: 武汉网站建设