Javascript模块化大对象

时间:2010-11-25 13:40:42

标签: javascript data-structures modularization

我有一个对象被定义为一个函数,并且它有很多方法和属性,有哪些方法可以将它模块化以使其更易于管理?可以将对象中的函数放入外部文件中吗?

编辑:

有人在一个答案中提到要包含其他文件,但这会有一个非野生的HTML页面,IE:

<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 个答案:

答案 0 :(得分:3)

var myobj = {
  somefunc: function() { /* function code */ },
  prop: "some string",
  // etc.
};

以及上面代码后面包含的另一个js文件

myobj.anotherfunc = function () { /* function code */ };

答案 1 :(得分:1)

您可能需要查看RequireJS。它允许您定义函数,模块,依赖项并从Javascript(可能是异步)加载外部Javascript文件。

答案 2 :(得分:0)

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

我正在考虑一个像这样的脚本:     scripts.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文件,只需通过文件夹扫描生成数组或其他东西,我想你明白了!

问候Nexum

答案 3 :(得分:0)

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

...但最佳做法是在主html页面中包含您想要的文件