CNode

Node.js, Require 和 Exports

Yyingjie0904发布于12 年前最后回复12 年前2 回复10637 浏览0 收藏

刚开始玩node.js的时候,有个东西一直困扰着我,很不舒服。我说的是module.exports,很尴尬是吧!因为它是node.js非常基础的一部分,也非常简单。其实,现在想起来,也不知道当初困扰我的是什么,只记得糊里糊涂的。不只是我,可能其他人也有类似的体会,在开始理解之前需要反复琢磨。现在觉得可以写一些东西出来。

var x = 5;
var addX = function(value) {
  return value + x;
};

var u = new user.User(); //vs var u = new user();


<br />
这还真是个事儿:你的模块是装了输出的值,还是没有,其实你可以在同一个模块里同时放两个,但我觉得出来的API一定难看透了。

最后要考虑的是:当直接输出一个函数时会发生什么:

var powerLevel = function(level) { return level > 9000 ? "it's over 9000!!!" : level; }; module.exports = powerLevel;


<br />
当你获取上面的文件时,返回的值是实际的函数。这意味着你可以这样: 

require('./powerlevel')(9050);


<br />
其实它只是下面的一个精简版本:

var powerLevel = require('./powerlevel') powerLevel(9050);


Hope that helps!

<br />

From:http://openmymind.net/2012/2/3/Node-Require-and-Exports/
查看回复

回复 (2)

G
gvforjob#1·12 年前

不错不错顶一个,对新手很好理解

参与回复
登录后即可参与回复。登录