(解決策をグーグルで検索すると、この質問を見つけ続けるので、ここで見つけた解決策を共有して、私のような他の人が見つけられるようにします。)
タグを使用して html テンプレートで静的ファイルをラップできるgrunt-bridgeと呼ばれる grunt プラグインを発見しました。static
ドキュメントは素晴らしいものではありませんが、プロジェクトで機能させる方法を考え出しました。
次のようなスクリプトがある場合:
<!-- build:js({.tmp,app}) /scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/util/util.js"></script>
...
そして、最終的な出力は次のようなものを出力します:
<script src="{% static 'adjangoappname/scripts/94223d51.scripts.js' %}"></script>
gruntbridge をインストールnpm install grunt-bridge --save-dev
し、Gruntfile.js の grunt.initConfig に次のような構成を追加します。
bridge: {
distBaseHtml: {
options: {
pattern: '{% static \'adjangoappname{path}\' %}',
html: '<%= yeoman.minifiedDir %>/index.html', dest: '<%= yeoman.templateDir %>/index.html'
}
},
distIndexHtml: {
options: {
pattern: '{% static \'adjangoappname{path}\' %}',
html: '<%= yeoman.minifiedDir %>/index.html', dest: '<%= yeoman.templateDir %>/index.html'
}
},
// ... etc for each html file you want to modify
},
は最終的に縮小されたhtml<%= yeoman.minifiedDir %>
ファイルの出力ディレクトリで、<%= yeoman.minifiedDir %>
は宛先テンプレート ディレクトリです。django アプリの名前または任意のディレクトリ プレフィックスに置き換えadjangoappname
ます。
次に、次のように registerTask リストの最後に grunt-bridge を追加します。
grunt.registerTask('build', [
//...
'htmlmin',
'bridge'
]);
(設定をよりコンパクトにすることは可能だと思いますが、これは私が発見した最初の方法です)