https://www.npmjs.com/package/gulp-base64
Gulp task
將 css 中的圖片 url()
轉換為 base64。
自己配置正则表达式,将html、js等其他格式文件中的图片转为base64.
// gulpfile.js
var gulp = require('gulp');
var base64 = require('./build/gulp-base64'); // 相對於 gulpfile.js 的路徑
//basic example
gulp.task('build', function () {
return gulp.src('./css/*.css') // 來源:css 檔案夾中的所有檔案
.pipe(base64()) // 轉換 url() 為 base64
.pipe(concat('main.css')) // 合併成 main.css
.pipe(gulp.dest('./public/css')); // 編譯後結果放置處
});
// ...
//example with options
gulp.task('build', function () {
return gulp.src('./css/*.css')
.pipe(base64({
baseDir: 'public',
extensions: ['svg', 'png', /\.jpg#datauri$/i],
exclude: [/\.server\.(com|net)\/dynamic\//, '--live.jpg'],
maxImageSize: 8*1024, // bytes
debug: true
}))
.pipe(concat('main.css'))
.pipe(gulp.dest('./public/css'));
});
baseDir
根目錄 (String)
e.g. baseDir: 'app/assets/img'
- 圖檔 `app/assets/img/xxx.png`;
- css `app/assets/scss/style.css`。
extensions
擴展 (Array of String or RegExps)
只處理指定的擴展。
只針對符合 file-extension 名稱的字串,
原始 URL 值以 RegExps 測試。
exclude
排除 (Array of String or RegExps)
符合 URLs 的跳過檔案
不同於擴展 option,String 是要符合整個 url value,
這只需符合 sub-string,在整個 url value。
maxImageSize
最大檔案大小 (Number)
轉換後 base64 的 Maximum bytes。
debug
(Boolean)
在 console 啟用 log
https://www.npmjs.com/package/gulp-base64-img
A gulp plugin for encoding images to base64