代码之家  ›  专栏  ›  技术社区  ›  Tom Gullen

JavaScript模块化大型对象

  •  1
  • Tom Gullen  · 技术社区  · 13 年前

    我有一个定义为函数的对象,里面有很多方法和属性,有什么方法可以模块化它使它更易于管理?可以将对象内部的函数放入外部文件中吗?

    编辑:

    一个答案中提到的某人包含其他文件,但这将有一个不受欢迎的HTML页面,即:

    <script type="text/javascript" src="script1.js"></script>
    <script type="text/javascript" src="script2.js"></script>
    <script type="text/javascript" src="script3.js"></script>
    ....
    <script type="text/javascript" src="script76.js"></script>
    

    是否还有任何方法来构造代码,以便只需要一个引用的javascript文件?

    4 回复  |  直到 13 年前
        1
  •  3
  •   Å ime Vidas Zim84    13 年前
    var myobj = {
      somefunc: function() { /* function code */ },
      prop: "some string",
      // etc.
    };
    

    在上面代码后面的另一个JS文件中

    myobj.anotherfunc = function () { /* function code */ };
    
        2
  •  1
  •   gblazex    13 年前

    你可能想退房 RequireJS . 它允许您定义函数、模块、依赖项并从javascript(可能是异步的)加载外部javascript文件。

        3
  •  0
  •   Nexum    13 年前

    您可以使用服务器端脚本来处理您的javascript,使用jsmin您甚至可以加快进程(如果缓存的话)。

    我在想一个这样的剧本: 脚本.php

    <?php 
    
    $files = array('script1.js', 'script2.js');
    $output = '';
    
    foreach($files as $file){
        $output .= file_get_contents($file);
    }
    
    header("Content-type: application/x-javascript");
    echo $output;
    
    ?>
    
    your html
    <script type="text/javascript" src="/script.php"></script>
    

    您也可以将所有JS文件包含在一个文件夹中,只需通过文件夹扫描或其他方式生成数组,我想您已经明白了!

    下一个问候

        4
  •  0
  •   Gerrat    13 年前

    你可以试试这个:
    http://www.cryer.co.uk/resources/javascript/script17_include_js_from_js.htm

    …但最佳实践是只在HTML主页中包含所需的文件。