码迷,mamicode.com
首页 > 其他好文 > 详细

node是如何实现模块之间相互独立的

时间:2015-05-17 13:29:32      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

  • 普通html中通过<script>引入的js
//name.js
var name = ‘name‘
//getName.js 在其中去访问name.js中的name变量
console.log (name);     =>name
 

上边导致的要给问题就是:
当引入大量的js文件是模块之间  变量引用很难保证不重叠

  • 在nodejs中
所有的js文件在node中执行前,
都会被包装进define(require,exports,module,_filePath,_fileName){   //你的js代码    };
该函数会返回exports对象,代码中想能从模块外进行访问的变量必需是exports的属性。
 
之后nodejs会编译执行包装过的代码,执行时是通过node的vm模块中的runinThisContext(/包装过的代码/);
该函数作用类似于eval()函数,区别在于执行的代码被作用域被限制,代码只能访问代码里边的变量,从而达到
模块之间只能通过exports变量进行模块里变量的传递。

node是如何实现模块之间相互独立的

标签:

原文地址:http://www.cnblogs.com/gsLiu/p/4509458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!