2

我想知道如何使用 Python 将多个 Javascript 文件连接到一个文件中。

我正在用 Javascript 构建一个基于组件的引擎,我想只使用一个文件来分发它,例如 engine.js。

或者,我希望用户获得具有文件和目录层次结构的整个源代码,并且使用整个源代码,他们应该获得一个 build.py Python 脚本,可以对其进行编辑以在其中包含各种系统和组件,它们基本上是 components/ 和 systems/ 目录中的 .js 文件。

如何加载列表(路径)中描述的文件并将它们组合成一个文件?

例如:

toLoad =
[
    "core/base.js",
    "components/Position.js",
    "systems/Rendering.jd"
]

脚本应按顺序连接这些。

另外,这是一个 Git 项目。脚本有没有办法从 Git 读取程序的版本,然后在开头将其写为注释?

4

3 回答 3

5

这将连接您的文件:

def read_entirely(file):
    with open(file, 'r') as handle:
        return handle.read()

result = '\n'.join(read_entirely(file) for file in toLoad)

然后,您可以根据需要输出它们,或者使用类似于以下的代码编写它们:

with open(file, 'w') as handle:
    handle.write(result)
于 2012-07-25T23:05:32.400 回答
1

这样的事情怎么样?

final_script = ''
for script_name in toLoad:
    with open(script_name, 'r') as f:
        final_script += ('\n' + f.read())
with open('engine.js', 'w') as f:
    f.write(final_script)
于 2012-07-25T23:10:16.750 回答
1

你可以自己做,但这是一个真正的问题,真正的工具正在更复杂地解决这个问题。考虑“JavaScript Minification”,例如使用http://developer.yahoo.com/yui/compressor/

于 2012-07-25T23:28:54.890 回答