2

私は 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 ファイルを単純に作成することでした。

ここで何か間違ったことをしているように感じます、何かヒントはありますか?これは予想される動作ですか?もしそうなら、それを変更するにはどうすればよいですか?

4

0 に答える 0