从节点模块获取像sytax的jQuery
我正在构build我的第一个节点模块,我希望能得到类似于jQuery的东西
$(searchItem)
所以代码可能看起来像
var $$ = require(“myModule”); $$(search).doAction();
等等,而不是
。$$ doAction(search);
是否有可能在模块中返回这样的“根函数”? 这样做有没有危险?
——————更新Laurent说这是可行的,因为下划线是这样做的,而且它是安全的,现在是如何?? ———– ———————–
我已经更新我的代码到我的模块开始自我引用function(复制下划线)
(function(){ var fs = require(“fs”); 的console.log( “开始”); var root = this; var config = JSON.parse(fs.readFileSync(“./ config.json”)); var $$ = function(obj){ 如果(!OBJ){ 返回configuration; } else { 返回obj; } } })调用(这)
然后在我的页面
要求( “MyModule的”); 的console.log($$( “testing”));
希望控制台会logging“testing”,但不幸的是我得到$$("test")
不是一个函数。 ———————————— update ————- ——————————正如jtblin在下面的答案中指出的,exporting module.exports = $$
适用于输出“testing“作为testing正在被传递给函数,但我不能按照原始示例链接方法。 虽然部分方式。
你有导出你的function?
在你的模块中:
module.exports = $$;
在另一个文件中
var $$ = require("myModule"); console.log($$("test"));
Underscore是最广泛使用的node.js模块之一,它确实如此,所以它非常安全。