vite-plugin-uni-platform-loader
Version:
一个基于vite的,在uniapp中使用的插件。会根据当前编译的平台自动加载对应的文件。
11 lines (9 loc) • 1.27 kB
JavaScript
import i from 'node:fs';
import l from 'node:path';
var u="vite-plugin-uni-platform-loader";function p(c,e){let n=l.extname(c),f=c.replace(`.${e}${n}`,n);if(!i.existsSync(f))return;let r=i.readFileSync(f,{encoding:"utf-8"}),t=r,a=/@uni-platform-loader last-modified-at=\d+/,o=r.match(a)?.[0],s;switch(n){case".html":case".vue":s=`<!-- @uni-platform-loader last-modified-at=${new Date().getTime()} -->`;break;default:s=`/*** @uni-platform-loader last-modified-at=${new Date().getTime()} ***/`;break}o?t=r.replace(new RegExp(`.*${o}.*`),s):t=`${r}
${s}
`,i.writeFileSync(f,t,{encoding:"utf-8"});}function d(c){let{platform:e,rootDir:n}=c||{};if(e||(e="h5"),n||(n=l.resolve(process.cwd(),"src")),!i.existsSync(n))throw new Error(`\u6839\u76EE\u5F55 ${n} \u4E0D\u5B58\u5728`);return i.watch(n,{recursive:!0},(m,r)=>{if(!r||e==="h5")return;let t=l.resolve(n,r);if(!i.existsSync(t)){p(t,e);return}let o=l.extname(t),s=new RegExp(`.*.${e}${o}$`);!i.statSync(t).isFile()||!s.test(t)||p(t,e);}),{name:u,enforce:"pre",transform(m,r){let t=m;if(e!=="h5"){let a=l.extname(r),o=r.replace(a,`.${e}${a}`);i.existsSync(o)&&(t=i.readFileSync(o,"utf-8")??m);}return t}}}
export { d as default };
//# sourceMappingURL=index.mjs.map
//# sourceMappingURL=index.mjs.map