UNPKG

vite-plugin-uni-platform-loader

Version:

一个基于vite的,在uniapp中使用的插件。会根据当前编译的平台自动加载对应的文件。

11 lines (9 loc) 1.27 kB
#!/usr/bin/env node 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