我想知道如何使用Python将多个Javascript文件连接到一个文件中。
我正在使用Javascript构建基于组件的引擎,我想只使用一个文件来分发它,例如engine.js。
或者,我希望用户获得整个源代码,它具有文件和目录的层次结构,并且在整个源代码中他们应该获得build.py Python脚本,可以对其进行编辑以包含各种系统和其中的组件,基本上是组件/系统/目录中的.js文件。
如何加载列表(路径)中描述的文件并将它们合并到一个文件中?
例如:
toLoad =
[
"core/base.js",
"components/Position.js",
"systems/Rendering.jd"
]
脚本应按顺序连接这些。
此外,这是一个Git项目。有没有办法让脚本从Git读取程序的版本,然后在开头将其写为注释?
答案 0 :(得分: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)
答案 1 :(得分: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)
答案 2 :(得分:1)
你可以自己做,但这是一个真正的问题,真正的工具正在更复杂地解决。考虑“JavaScript Minification”,例如使用http://developer.yahoo.com/yui/compressor/