2014-09-30 30 views
2

是否有一种方便的代码组织方式,它允许创建模块模式,但在单独的文件中定义其内部公开的功能。单独文件中定义的模块模式

因此,使用下面的模块,可以在另一个js文件中定义SomeInternalObject2,并且仍然可以从第一个文件访问(假设脚本文件的顺序正确)?

var MyModule = (function(){ 
    function SomeInternalObject1(){..} 
    function SomeInternalObject2(){..} 
    return { 
    this.publicFunction = function(){..} 
    } 
})(); 

编辑:也许我想它在一个错误的方式。代码组织是一个发展时期关注的问题。 Require.js,模块加载等。是一个运行时问题。

+0

你看过Require.js吗? SomeInternalObject2不会真的是内部的。我不认为有一种方法可以将js代码导入到作用域中(除了“评估它”)。 – AlexanderBrevig 2014-09-30 02:22:10

+0

我已经编写了我自己的导入函数,它通过'$ .ajax'加载另一个模块,然后加载'eval'。它像是; 'var Module =(function(){var AnotherModule = loadModule('AnotherModule'); ...})();'这很简单,可能不是完美的解决方案。希望我将代码发布为答案,否则它不适合您的情况? – renatoargh 2014-09-30 02:25:45

+0

@renatoargh,看起来很有趣,但它不太合适。也许我在错误地思考它? – 2014-09-30 03:02:25

回答

0

看看jTable(javascript)。作者从不同文件中增加主要对象。这不完全是你所要求的,但意图或目标似乎相似。我可能会稍后添加代码。

相关问题