UNPKG

vite-plugin-uni-platform-loader

Version:

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

18 lines (13 loc) 1.69 kB
#!/usr/bin/env node 'use strict'; var i = require('fs'); var l = require('path'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var i__default = /*#__PURE__*/_interopDefault(i); var l__default = /*#__PURE__*/_interopDefault(l); var u="vite-plugin-uni-platform-loader";function p(c,e){let n=l__default.default.extname(c),f=c.replace(`.${e}${n}`,n);if(!i__default.default.existsSync(f))return;let r=i__default.default.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__default.default.writeFileSync(f,t,{encoding:"utf-8"});}function d(c){let{platform:e,rootDir:n}=c||{};if(e||(e="h5"),n||(n=l__default.default.resolve(process.cwd(),"src")),!i__default.default.existsSync(n))throw new Error(`\u6839\u76EE\u5F55 ${n} \u4E0D\u5B58\u5728`);return i__default.default.watch(n,{recursive:!0},(m,r)=>{if(!r||e==="h5")return;let t=l__default.default.resolve(n,r);if(!i__default.default.existsSync(t)){p(t,e);return}let o=l__default.default.extname(t),s=new RegExp(`.*.${e}${o}$`);!i__default.default.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__default.default.extname(r),o=r.replace(a,`.${e}${a}`);i__default.default.existsSync(o)&&(t=i__default.default.readFileSync(o,"utf-8")??m);}return t}}} module.exports = d; //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map