3

Grunt タスク中に、ファイル名の末尾に一意の文字列を追加します。grunt-contrib-copygrunt-filerev を試しました。どちらも私が必要とすることをすることができませんでした...

現在、私の LESS ファイルは、Sublime Text 3 の「保存」時に自動的にコンパイルされます (したがって、これは私の面倒なタスクではまだ発生しません)。次に、ターミナルを開いて ' grunt ' を実行します。これにより、JS ファイルが連結 (結合) されます。これが完了したら、grunt は「dist/css/main.css」と「dist/js/main.js」の名前を変更し、ファイル名の末尾に「バージョン」を付けます。

私が試してみました:

  • grunt-contrib-copy (「clean:expired 」は、 grunt-contrib-copyがファイルの名前を変更する前に、連結された JS を削除します)
  • grunt-filerev ('これは何らかの理由で CSS ファイルでのみ機能し、'.css' の前にバージョン番号を挿入しました。JS ファイルで機能しなかった理由は不明です。')

ここに私のGruntfile.jsがあります

明確にするために、私は「コードレビュー」を求めているわけではありません。タスクが完了したときに「dist/css/main.css12345 & dist」が作成されるように、「名前変更」プロセスを組み込む方法を知る必要があるだけです。 /js/main.js12345' で、それぞれのディレクトリに「dist/css/main.css」または「dist/js/main.js」が残っていません。

助けてくれてありがとう!

更新:これを試した後、 grunt-contrib-renameを使用することになりました。grunt-contrib-copyを使用しても同じ結果が得られるとことを知っています。したがって、どちらでも機能します。正規表現のサポートに関しては、両方がそれをサポートしているかどうかわからないので、これらのプラグインのいずれかを選択する前に調べる価値があるかもしれません:)

4

2 に答える 2

0

あなたが何を望んでいるかを完全に理解することはできませんが、 gruntfilevar timestamp = new Date().getTime();の先頭にa を追加し、仕事をする必要がある param に連結する場合。dest

dest: 'dist/js/main.min.js' + timestamp

それはあなたが探しているものですか?

于 2015-04-15T12:35:59.293 に答える