Pythonプロジェクトでフロントエンドをテンプレート化するためにnunjucksを使用しています。Nunjucks テンプレートは、本番環境でプリコンパイルする必要があります。nunjucks テンプレートでは、拡張機能や非同期フィルターは使用しません。grunt-task を使用してテンプレートの変更をリッスンするよりも、nunjucks-precompile コマンド (npm 経由で提供) を使用して、テンプレート ディレクトリ全体を templates.js にスイープすることを好みます。
アイデアは、nunjucks-precompile --include ["\\.tmpl$"] path/to/templates > templates.js
コマンドを setup.py 内で実行することです。これにより、デプロイヤー スクリプトの通常の実行を簡単にピギーバックできます。
setuptools オーバーライドとdistutils スクリプト引数が適切な目的を果たしている可能性があることを発見しましたが、どちらが最も簡単な実行方法であるかはわかりません。
別のアプローチは、subprocess
setup.py 内でコマンドを直接実行するために使用することですが、私はこれに対して警告されています (むしろ先制的に私見です)。なぜそうしないのか、私は本当に深く理解していません。
何か案は?アファメーション?確認?
更新 (2015 年 4 月): - コマンドを使用できない場合は、次のnunjucks-precompile
ように Node Package Manager を使用して nunjucks をインストールします。
$ npm install nunjucks