UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

27 lines (26 loc) 2.06 kB
"use strict";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;