在JavaScript模块模式设计中跨文件共享私有方法

时间:2017-09-09 08:49:07

标签: javascript package private module-pattern revealing-module-pattern

我正在创建一个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这样的方法保密。 我只想将所有私有实用程序存储在一个单独的文件中,同时保持其私有状态。这可能吗?

0 个答案:

没有答案