我正在构建我的第一个节点模块,我希望得到类似于 jQuery 的东西
$(搜索项)
所以代码看起来像
var $$ = require("myModule"); $$(搜索).doAction();
之类的,而不是
$$.doAction(搜索);
是否可以在模块中返回这样的“根函数”?这样做有什么危险吗?
------------------更新 Laurent 说它是可行的,就像 Underscore 一样,而且它是安全的,现在如何??------------ ----------------------
我已经将我的代码更新为我的模块,从一个自引用函数开始(复制的下划线)
(功能(){ var fs = 要求(“fs”); console.log("开始"); var根=这个; var config =JSON.parse(fs.readFileSync("./config.json")); var $$ = 函数(obj){ 如果(!obj){ 返回配置; } 别的 { 返回对象; } } }).call(这个)
然后在我的js页面
要求(“我的模块”); console.log($$("test"));
希望控制台会记录“测试”,但不幸的是我得到$$("test")
的不是一个功能。 - - - - - - - - - - - - - - - - - - 更新 - - - - - - - ------------------------------ 正如 jtblin 在下面的答案中指出的那样,正在导出module.exports = $$
用于输出“test”作为测试的作品传递给函数,但我不能按照原始示例链接方法。虽然有一部分。