一息共通のプラグインは一気-REVを使用します

:もっとしてください訪問使用する一般的なプラグインを飲み込むゴクゴク普通のプラグイン概要を


一息-REV a.css、問題を解決するためのキャッシュCDN、これは、ハッシュ値のランダムな文字列で、静的なファイルである- >-d2f3f35d3.css。ファイル名のパスの対応関係を保存するJSONを生成しながら、リソースの静的コンテンツに応じてファイル名をパッキング、MD5署名を生成するには、MD5署名が追加されます。

rev.manifest.json:ソースファイルを生成し、ハッシュファイルの後にマッピングテーブルを追加
gulp-rev缶でプラグインのみの接尾辞を追加し、あなたがパスを交換したい場合は、あなたがする必要がある、HTMLに代替パスを話すことができませんgulp-rev-collector

文書のグレーターの使用、訪問ゴクゴク-REVツール公式サイトをクリックしてください

インストール

キーのインストール多くの説明

 npm install --save-dev gulp-rev

使用

const gulp = require('gulp');
const rev = require('gulp-rev');

exports.default = () => (
    gulp.src('src/*.css')
        .pipe(rev())
        .pipe(gulp.dest('dist'))
);

API

  • rev() :ハッシュサフィックスを追加するための静的ファイル
  • rev.manifest(path, options) :Makefileのマップ
    • path(表ファイル・ストレージ・パス):
      種類:string
      デフォルト:rev-manifest.json
      テーブルファイルストレージ・パス。

    • options(オプション):
      種類:オブジェクト

      • base
        タイプ:string
        デフォルト:process.cwd()
        マニフェストファイルのベースカバー。
      • cwd
        タイプ:string
        デフォルト:process.cwd()
        現在の作業ディレクトリのマニフェストファイルをカバーします。

      • merge(合併)
        タイプ:boolean
        デフォルト:false
        既存のマニフェストファイルを統合。

      • transformer(変圧器)
        タイプ:object
        デフォルト:JSON
        parseし、stringifyオブジェクトのメソッド。これは代わりに、カスタムコンバータを提供するために使用することができJSON、デフォルトのマニフェストファイルコンバータ。

元のパス
に格納された元のファイルパスのプラグインソース file.revOrigPath便利になることがあり、資産の書き換えへの参照、のようなもののために。

資産ハッシュ
ハッシュは、ファイルの各リビジョンのために格納されているプラグインソース file.revHashカスタムファイルリストの名前を変更するか、別のフォーマットを構築するためにあなたはそれを使用することができます。

資産インベントリ

const gulp = require('gulp');
const rev = require('gulp-rev');

exports.default = () => (
    // By default, Gulp would pick `assets/css` as the base,
    // so we need to set it explicitly:
    gulp.src(['assets/css/*.css', 'assets/js/*.js'], {base: 'assets'})
        .pipe(gulp.dest('build/assets'))  // 复制原资产build目录
        .pipe(rev())
        .pipe(gulp.dest('build/assets'))  // 写rev的资产build目录
        .pipe(rev.manifest())
        .pipe(gulp.dest('build/assets'))  // 写入清单以build目录
);

改訂されたルートへの元のパスをマップする資産の一覧が書き込まれますbuild/assets/rev-manifest.json

{
    "css/unicorn.css": "css/unicorn-d41d8cd98f.css",
    "js/unicorn.js": "js/unicorn-273c2c123f.js"
}
 

デフォルトでは、rev-manifest.jsonそれは全体として置き換えられます。既存のリストをマージするために、merge: true出力先(例えば、セットbaseに送達します)rev.manifest()

const gulp = require('gulp');
const rev = require('gulp-rev');

exports.default = () => (
    // By default, Gulp would pick `assets/css` as the base,
    // so we need to set it explicitly:
    gulp.src(['assets/css/*.css', 'assets/js/*.js'], {base: 'assets'})
        .pipe(gulp.dest('build/assets'))
        .pipe(rev())
        .pipe(gulp.dest('build/assets'))
        .pipe(rev.manifest({
            base: 'build/assets',
            merge: true // 与现有清单合并(如果存在)
        }))
        .pipe(gulp.dest('build/assets'))
);

あなたはコールする選択することができますrev.manifest('manifest.json')別のパスまたはファイル名を指定していることを。

おすすめ

転載: www.cnblogs.com/jiaoshou/p/12041260.html