XuanchenLin/NanUI

[REQUEST]能否允许在本地监听一个端口以便于前后端分离的开发模式(使前端可以更方便地进行调试)

Zerek-Cheng opened this issue · 5 comments

你的想法 / Your idea...

没理解你的意思是什么。正常情况我们开发都是前后端分离的,只是在软件制作完成后才对前端进行打包然后嵌入到程序里。

没理解你的意思是什么。正常情况我们开发都是前后端分离的,只是在软件制作完成后才对前端进行打包然后嵌入到程序里。

您所说的“前后端分离”,是指单独起一个web backend,和前端联调完成后才嵌入程序吗。了解了,这样确实可以。

我司正在做一个上位机软件(本地串口通讯), 没有单独起web backend(只在NanUI内部使用了http://api.app.local/),
前端每一次改完都是单独编译一次嵌入NanUI后重新启动。

所以希望能有一个监听真实http协议(80端口)的ResourceHandler,以便于前端开发人员直接调试。

感谢您的回复

没理解你的意思是什么。正常情况我们开发都是前后端分离的,只是在软件制作完成后才对前端进行打包然后嵌入到程序里。

您有什么更好的建议吗 @XuanchenLin

这个没有更好的办法,因为DataService的原理是在当前进程内拦截了浏览器的请求来实现的,它本身并不具备WebServer的功能,所以从外部没有办法调用内部定义的接口。

如果要说建议的话,那么只能先把DataService单独作为组件开发完毕,然后做一个空白的NanUI窗口指定前端的地址(或者像浏览一一样给定一个地址栏),然后前端就可以像在浏览器里调试一样进行本地测试,你可以理解为类似微信和钉钉小程序开发那样,其实说白了腾旭和阿里所谓的开发工具就是已经内置了各类扩展接口的浏览器,把前端的页面引入到这个浏览器里才能调用特定的接口,待前端开发完成后再把HTML,JS,CSS等编译打包嵌入到主程序内,这样就不必每次都打包嵌入。

这个没有更好的办法,因为DataService的原理是在当前进程内拦截了浏览器的请求来实现的,它本身并不具备WebServer的功能,所以从外部没有办法调用内部定义的接口。

如果要说建议的话,那么只能先把DataService单独作为组件开发完毕,然后做一个空白的NanUI窗口指定前端的地址(或者像浏览一一样给定一个地址栏),然后前端就可以像在浏览器里调试一样进行本地测试,你可以理解为类似微信和钉钉小程序开发那样,其实说白了腾旭和阿里所谓的开发工具就是已经内置了各类扩展接口的浏览器,把前端的页面引入到这个浏览器里才能调用特定的接口,待前端开发完成后再把HTML,JS,CSS等编译打包嵌入到主程序内,这样就不必每次都打包嵌入。

您给了一个很好的思路,似乎是可以这样。
之前我思考过可否通过WebSocket + Local Server互相交互的模式来调用接口,
但是现在看来您的这种方法可能更好一些。