Node.js – 标准库

有没有在Node.js中定义一个“标准库”的方法,它是在每个Node.js应用程序的开始时自动执行的?

例如:

//stdlibrary.js function sayHello(){ console.log("Hello World!"); } //app.js sayHello(); //without including the stdlibrary.js! 

希望我的问题很清楚。

谢谢你的帮助!

更新

我正在寻找像在PHP中的auto_prepend_file 。 希望有类似的东西。

是的,这很简单。 只需编辑src / node.cc文件以包含autorequire文件的选项,然后修改node :: Load代码来处理该选项。 您可能还需要更改src / node.js中的JavaScript。

重build,testing,你完成了。

或者你也许可以通过让它评估一个需要你的库的string,然后在命令行上提到实际的脚本文件来将其转换为src / node.js。

node.js中没有这样的事情,这种魔法是不透明的,因为这个原因,大多数软件产品都乐于避免。

我build议创build一个文件common.js,你包含在其他文件中:

 var common = require("./common") 

然后,您可以按如下方式访问在common.js中导出的​​常量和函数:

 common.MY_CONST common.my_fun() 

common.js将实现如下:

 exports.MY_CONST = 123 exports.my_fun = function() { ... } 

另一个select是“污染”全局命名空间(但是根本不推荐)。 你可以在一个文件中定义一个包含你的函数的对象(我们称之为global.js):

global.js:

 global.customNs = {}; global.customNs.helloparam = function(param) { console.log('Hello ' + param); }; 

在您的主文件(您的服务器或任何types的应用程序正在开发),您需要该文件一次:

server.js

 require('./global'); 

在需要之后,您可以在以下所有需求(基本上无处不在)中访问您的global.customNs.helloparam函数。

另一种select是使用CommonJS模块表示法定义全局对象:

global.js

 exports.customNs = { global.customNs.helloparam = function(param) { console.log('Hello ' + param); }; } 

server.js

 globalObject = require('./global').customNs; 

然后使用globalObject.helloparam('test')在require'd代码中的任何位置访问它。

注意:我不使用生产代码中的任何一个,只是将这些示例一起使用一些testing代码。 不能保证他们在任何情况下工作