Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/hap-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
"qr-image": "^3.2.0",
"qrcode-terminal": "^0.12.0",
"request": "^2.88.2",
"resolve": "^1.22.2"
"resolve": "^1.22.2",
"koa-proxies": "^0.12.4"
}
}
1 change: 1 addition & 0 deletions packages/hap-server/src/preview/create-router.js
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ export default async function createRouter(previewTarget) {
type,
script,
scriptNotFound: !scriptExists(script),
devtoolUrl: browerOptions.options.devtoolUrl || '',
webJsUrl: genWebJsUrl(browerOptions.options.version || ctx.conf.options.webVersion), // 更改预览版本号修改为同媒介查询一样的传参方式,同时兼容之前的方式
language: currentLanguage,
mediaQueryParams: JSON.stringify(mediaQueryParams) // 传给页面的媒介查询参数
Expand Down
10 changes: 8 additions & 2 deletions packages/hap-server/src/preview/views/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@
document.write('<script src="/preview-static/web.js">\x3C/script>')
}
</script>
<script type="text/javascript">
if (`{{devtoolUrl}}`) {
document.write('<script src="{{devtoolUrl}}">\x3C/script>')
}
</script>
<script type="text/javascript">
var base = '/preview'
var type = '{{ type }}'
Expand All @@ -102,7 +107,8 @@
var routeName = '{{ routeName }}'
Hap.init({
base,
type
type,
idePlatform: `{{devtoolUrl}}` ? 'extensionOnline' : undefined
})
})()
</script>
Expand All @@ -114,7 +120,7 @@
<p>编译可能存在异常</p>
</div>
<script type="text/javascript">
if ({{ scriptNotFound }}) {
if (`{{ scriptNotFound }}`) {
// TODO loading
setTimeout(() => {
var el = document.getElementById('scriptNotFound')
Expand Down
15 changes: 15 additions & 0 deletions packages/hap-server/src/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
} from '@hap-toolkit/shared-utils'
import { browerOptions } from './config'
const moduler = [require('@hap-toolkit/debugger')]
const proxies = require('koa-proxies')
let server = null
export async function launch(conf) {
return new Promise(async (resolve) => {
Expand All @@ -25,6 +26,20 @@ export async function launch(conf) {
moduler.push((await import('@hap-toolkit/packager')).router, require('./preview/index.js'))
}
const app = new Koa()
// 改版ide插件的方式h5预览的ajax请求需要设置动态代理
app.use(async (ctx, next) => {
if (ctx.request.url.startsWith('/api/proxy')) {
const target = ctx.request.url.split('target=')[1] // 从查询参数获取目标地址
// const apiReg = new RegExp(`^${api}/`);
return proxies('/api/proxy', {
target: target,
changeOrigin: true,
logs: true,
rewrite: (path) => path.replace(/^\/api\/proxy/, '')
})(ctx, next)
}
return next()
})
let serverPort = globalConfig.server.port
// 如果设置的端口被占用,则自动递增获取可用端口
serverPort = await portfinder.getPortPromise({
Expand Down
Loading