私は、明らかになったモジュールパターンで構造化されたモジュールを作成しました。これには、過負荷として機能するサブモジュールが含まれています。メインモジュールのいくつかの機能には、サブモジュールを介してのみ、ユーザーコードとともに使用すべきではないパラメータがあります。サブモジュールからparamsにアクセスするにはどうすればよいですか? "external usercode"では利用できません。 これに対して別のレイヤーを作っていいですか?JS公開モジュールパターン:ユーザコードで使用すべきでないパラメータ
var someNamespace = someNamespace || {};
someNamespace.someModule = (function() {
// _customSiteUrl, _customToken shouldn't be available via usercode
function create(listName, data, _customSiteUrl, _customToken) {
...
}
var XS = (function() {
return {
createXS: function (siteUrl, listName, data) {
...
create(listName, data, siteUrl, token);
}
}
})();
return {
create: create,
XS: XS,
...
}
})();
someNamespace.someModule.create("hi", {}, "https://...", "someHash"); //Should not be possible!!
someNamespace.someModule.create("hi", {}); //Should be used
さて、あなたは私が何を意味するのか理解できませんでした。クロウズの答えを見てください。 あなたの時間をありがとう。 – sandrooco
これは本質的に同じものが異なってコード化されています。 Crowesは、 'userAccessibleCreate'関数にパブリックパラメータ(パラメータ、あなたが望むもの)を追加する必要があります。なぜなら、引数オブジェクトを使用せずに名前付きパラメータを受け付けないからです。 – Shilly