File tree Expand file tree Collapse file tree 4 files changed +26
-3
lines changed
Expand file tree Collapse file tree 4 files changed +26
-3
lines changed Original file line number Diff line number Diff line change 4444 "qr-image" : " ^3.2.0" ,
4545 "qrcode-terminal" : " ^0.12.0" ,
4646 "request" : " ^2.88.2" ,
47- "resolve" : " ^1.22.2"
47+ "resolve" : " ^1.22.2" ,
48+ "koa-proxies" : " ^0.12.4"
4849 }
4950}
Original file line number Diff line number Diff line change @@ -228,6 +228,7 @@ export default async function createRouter(previewTarget) {
228228 type,
229229 script,
230230 scriptNotFound : ! scriptExists ( script ) ,
231+ devtoolUrl : browerOptions . options . devtoolUrl || '' ,
231232 webJsUrl : genWebJsUrl ( browerOptions . options . version || ctx . conf . options . webVersion ) , // 更改预览版本号修改为同媒介查询一样的传参方式,同时兼容之前的方式
232233 language : currentLanguage ,
233234 mediaQueryParams : JSON . stringify ( mediaQueryParams ) // 传给页面的媒介查询参数
Original file line number Diff line number Diff line change 9393 document . write ( '<script src="/preview-static/web.js">\x3C/script>' )
9494 }
9595 </ script >
96+ < script type ="text/javascript ">
97+ if ( `{{devtoolUrl}}` ) {
98+ document . write ( '<script src="{{devtoolUrl}}">\x3C/script>' )
99+ }
100+ </ script >
96101 < script type ="text/javascript ">
97102 var base = '/preview'
98103 var type = '{{ type }}'
102107 var routeName = '{{ routeName }}'
103108 Hap . init ( {
104109 base,
105- type
110+ type,
111+ 'idePlatform' : `{{devtoolUrl}}` ? 'extensionOnline' : undefined
106112 } )
107113 } ) ( )
108114 </ script >
114120 < p > 编译可能存在异常</ p >
115121 </ div >
116122 < script type ="text/javascript ">
117- if ( { { scriptNotFound } } ) {
123+ if ( ` {{ scriptNotFound }}` ) {
118124 // TODO loading
119125 setTimeout ( ( ) => {
120126 var el = document . getElementById ( 'scriptNotFound' )
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ import {
1616} from '@hap-toolkit/shared-utils'
1717import { browerOptions } from './config'
1818const moduler = [ require ( '@hap-toolkit/debugger' ) ]
19+ const proxies = require ( 'koa-proxies' )
1920let server = null
2021export async function launch ( conf ) {
2122 return new Promise ( async ( resolve ) => {
@@ -25,6 +26,20 @@ export async function launch(conf) {
2526 moduler . push ( ( await import ( '@hap-toolkit/packager' ) ) . router , require ( './preview/index.js' ) )
2627 }
2728 const app = new Koa ( )
29+ // 改版ide插件的方式h5预览的ajax请求需要设置动态代理
30+ app . use ( async ( ctx , next ) => {
31+ if ( ctx . request . url . startsWith ( '/api/proxy' ) ) {
32+ const target = ctx . request . url . split ( 'target=' ) [ 1 ] // 从查询参数获取目标地址
33+ // const apiReg = new RegExp(`^${api}/`);
34+ return proxies ( '/api/proxy' , {
35+ target : target ,
36+ changeOrigin : true ,
37+ logs : true ,
38+ rewrite : ( path ) => path . replace ( / ^ \/ a p i \/ p r o x y / , '' )
39+ } ) ( ctx , next )
40+ }
41+ return next ( )
42+ } )
2843 let serverPort = globalConfig . server . port
2944 // 如果设置的端口被占用,则自动递增获取可用端口
3045 serverPort = await portfinder . getPortPromise ( {
You can’t perform that action at this time.
0 commit comments