vite-uni-dev-tool
Version:
vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试
27 lines (26 loc) • 2.06 kB
JavaScript
;const f=require("path"),m=require("fs"),l=require("../utils/index.js");function d(c){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const e in c)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(c,e);Object.defineProperty(i,e,r.get?r:{enumerable:!0,get:()=>c[e]})}}return i.default=c,Object.freeze(i)}const _=d(f),h=d(m);function g({pages:c,components:i}){return{name:"uni-global-components",enforce:"pre",configureServer(e){var r;e.middlewares.use((t,s,a)=>{const{originalUrl:n}=t;if(n!=null&&n.includes("__dev_sourcefile__")){const o=n.replace("/__dev_sourcefile__","");try{const u=e.config.root,p=_.join(u,o),v=h.readFileSync(p,"utf-8");s.setHeader("Content-Type",l.getContentType(p)),s.end(v)}catch{a()}}else a()}),(r=e.httpServer)==null||r.once("listening",()=>{var a;const t=(a=e.httpServer)==null?void 0:a.address(),s=l.getLocalIPs();t&&!Array.isArray(t)&&typeof t!="string"&&(s.map(n=>`http://${n}:${t.port}/__dev_sourcefile__`),console.warn(`
⚡️ vite-uni-dev-tool source file server running at:
${s.map(n=>`➜ Source File Network: http://${n}:${t==null?void 0:t.port}/__dev_sourcefile__`).join(`
`)}
`))})},transform(e,r){var t;if(r.endsWith(".vue")){const s=e.includes("<template>"),a=c.pages.some(o=>r.includes(o.path)),n=(t=c.subPackages)==null?void 0:t.some(o=>o.pages.some(u=>r.includes(`${o.root}/${u.path}`)));if((a||n)&&s){const o=l.getTemplateContent(e);if(o){const u=`
<view data-dev-page>
<view
data-dev-capture
@tap.capture="(e)=>{
devToolEventBus?.emit?.('dev-capture-tap-event', e);
}"
@touchstart.capture="(e)=>{
devToolEventBus?.emit?.('dev-capture-touch-start-event', e);
}"
@touchmove.capture="(e)=>{
devToolEventBus?.emit?.('dev-capture-touch-move-event', e);
}"
@touchend.capture="(e)=>{
devToolEventBus?.emit?.('dev-capture-touch-end-event', e);
}"
>
${o}
</view>
${i.join(`
`)}
</view>`;return{code:e.replace(o,u),map:null}}}}return{code:e,map:null}}}}module.exports=g;