我正在创建一个JavaScript库,我正在尝试将其功能分成两个文件。
以下是我现在所拥有的简化摘要,名为 main.js 的文件:
module.exports = (function() {
// PRIVATE
var _sendRequest = function(callback) {
// send request and get response
callback(response);
};
// PUBLIC
var getInfo = function() {
_sendRequest(function(response) {
console.log("Response: ", response);
);
}
return {
getInfo: getInfo
};
})();
如您所见,只有getInfo
可公开访问。隐藏_sendRequest
以供私人使用。
我要做的是将_sendRequest
方法放在一个单独的文件中,同时仍将其保密。我只希望getInfo
可以公开访问。
有没有办法在模块模式设计中实现这一点,还是应该考虑切换设计模式?我已经研究了增强模块模式,但它们似乎并没有将像_sendRequest
这样的方法保密。 我只想将所有私有实用程序存储在一个单独的文件中,同时保持其私有状态。这可能吗?