私は Django-Pipeline 用の初歩的な requirejs コンパイラを作成しました。それを磨き上げようとしていますが、特定の問題で立ち往生しています。SASSコンパイラで同じ「問題」に気付いたので、これは私が見逃している設定か何かなのだろうかと思います。
PIPELINE_CSS = {
'main': {
'source_filenames': (
'sass/main.scss',
),
'output_filename': 'css/crushcode.css',
'extra_context': {
'media': 'screen,projection',
}
}
}
PIPELINE_JS = {
'requirejs': {
'source_filenames': (
'js/lib/requirejs-2.0.4.js',
),
'output_filename': 'js/require.js',
'extra_context': {
'data': '/static/js/bootstrap'
}
}
}
どちらも、入力ファイルと同じ名前の出力ファイルをソース ディレクトリに作成し、拡張子をoutput_extension
それぞれのコンパイラ クラスの に変更します。SASS の場合、拡張子が .css であるため、これは問題ありません。したがって、 main.scssの隣に main.css が表示されますが、requirejs プラグインを初めて実行したときに、拡張子が同じであるため、実際に上書きしました元のファイル (もちろん失われるものはありません。バージョン管理に感謝します)。
infile と outfile の両方が次を指していることに気付きました。
APP_ROOT/static/js/lib/require-2.0.4.js
outfile が設定で指す必要があると思ったときoutput_filename
。
簡単な修正はoutput_extension
、カスタム コンパイラ クラスを 'optimized.js' に変更することでしたが、この時点で、コンパイルされたすべてのファイルに .gitignore を追加しています。目的の output_filename ファイルをターゲット ディレクトリに作成します。
私が望んでいたのは、collectstatic が自分のSTATIC_ROOT
ディレクトリに js/require.js ファイルを単純に作成することでした。
ここで何か間違ったことをしているように感じます、何かヒントはありますか?これは予想される動作ですか?もしそうなら、それを変更するにはどうすればよいですか?