2

Pythonを使用して複数のJavascriptファイルを1つのファイルに連結する方法を知りたいです。

コンポーネントベースのエンジンをJavascriptで構築していますが、engine.jsなどの1つのファイルだけを使用して配布したいと考えています。

または、ファイルとディレクトリの階層を持つソース全体をユーザーに取得してもらい、ソース全体で、さまざまなシステムやコンポーネントを含めるように編集できるbuild.pyPythonスクリプトを取得する必要があります。 、基本的にはcomponents/およびsystems/ディレクトリ内の.jsファイルです。

リスト(パス)に記述されているファイルをロードして、それらを1つのファイルに結合するにはどうすればよいですか?

例えば:

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ミニファイ」を検討してください。たとえば、http ://developer.yahoo.com/yui/compressor/を使用します。

于 2012-07-25T23:28:54.890 に答える