私は最初のノードモジュールを構築しています.jQueryに似たものを手に入れたいと思っています
$(検索項目)
コードは次のようになります
var $$ = require("myModule"); $$(検索).doAction();
などではなく、
$$.doAction(検索);
モジュールでこのような「ルート関数」を返すことは可能ですか? そうすることに何か危険はありますか。
------更新ローランは、アンダースコアが行うように実行可能であり、安全であると述べています。 -----------------------
自己参照関数 (コピーされたアンダースコア) で始まるモジュールのコードを更新しました。
(関数(){ var fs = require("fs"); console.log("開始"); var root = this; var config = JSON.parse(fs.readFileSync("./config.json")); var $$ = 関数(obj){ if(!obj){ 設定を返します。 } そうしないと { オブジェクトを返します。 } } }).call(これ)
次に、私のjsページで
require("myModule"); console.log($$("テスト"));
コンソールが「テスト」をログに記録することを願っていますが、残念ながら私は$$("test")
機能していません。 - - - - - - - - - - - - - - - - - - アップデート - - - - - - - ------------------------------ jtblin が以下の回答で指摘したように、export はmodule.exports = $$
「test」を test として出力するために機能します。関数に渡されましたが、元の例のようにメソッドをチェーンすることはできません。途中ですが。