六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 191|回复: 0

NodeJs notebook

[复制链接]

升级  20%

2

主题

2

主题

2

主题

童生

Rank: 1

积分
10
 楼主| 发表于 2013-1-29 08:46:09 | 显示全部楼层 |阅读模式
学习了一段时间比较火的NodeJS,  记录一下我的问题和我理解的答案。
 
1.  为什么一个module中的this 不是global对象 而是 exports ? require是怎么实现的?
我试着用javascript  实现一个自己require 函数, 输入代码字符串,得到一个exports对象
 
 
function myRequire(content){    var exports = {};    function run(){        eval(content);    };    run.call(exports);    return exports;}var script =    "exports.add = function(a,b){return a+b;};" +        "console.log(this);";var add = myRequire(script).add;console.log(add(2,2)); 2012年6月7日
 
2.  require 函数的加载顺序?
绝对和相对路径加载:   如果没有写明扩展名, 按  .js  -->  .node (已编译node插件) 用 dlopen加载
只是模块名:  核心模块(lib/) --> 各级目录中的 node_modules  (就近原则)
                             如果已经在node_modules ,  而且没有找到的话 , 只找上层node_modules 目录
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表