38 lines
959 B
JavaScript
38 lines
959 B
JavaScript
/**
|
|
* @description 通过 vite 自定义条件动态导入 eruda
|
|
* @description Eruda 配置参考 https://eruda.liriliri.io/zh/docs/
|
|
* @param {object} options
|
|
* @param {boolean} [options.open] - 是否开启 eruda
|
|
* @param {object} [options.erudaOptions] - eruda 配置
|
|
* @param {string} [options.erudaUrl] - eruda 地址
|
|
*/
|
|
export default function vitePluginEruda(options = {}) {
|
|
const { open = true, erudaOptions = {}, erudaUrl = 'https://cdn.jsdelivr.net/npm/eruda' } = options
|
|
|
|
return {
|
|
name: 'vite-plugin-eruda',
|
|
|
|
transformIndexHtml(html) {
|
|
const tags = [
|
|
{
|
|
tag: 'script',
|
|
attrs: {
|
|
src: erudaUrl,
|
|
},
|
|
injectTo: 'head',
|
|
},
|
|
{
|
|
tag: 'script',
|
|
children: `eruda.init(${JSON.stringify(erudaOptions)});`,
|
|
injectTo: 'head',
|
|
},
|
|
]
|
|
|
|
if (!open) {
|
|
return html
|
|
}
|
|
return { html, tags }
|
|
},
|
|
}
|
|
}
|