👇 @rollup/plugin-image 图片转为 base64
js
export default function image(opts = {}) {
const options = Object.assign({}, defaults, opts)
const filter = createFilter(options.include, options.exclude)
return {
name: 'image',
load(id) {
if (!filter(id)) {
return null
}
const mime = mimeTypes[extname(id)]
if (!mime) {
// not an image
return null
}
const isSvg = mime === mimeTypes['.svg']
const format = isSvg ? 'utf-8' : 'base64'
const source = readFileSync(id, format).replace(/[\r\n]+/gm, '')
const dataUri = getDataUri({ format, isSvg, mime, source })
const code = options.dom
? domTemplate({ dataUri })
: constTemplate({ dataUri })
return code.trim()
}
}
}