# jfx_webview_vue **Repository Path**: twjHeap/jfx_webview_vue ## Basic Information - **Project Name**: jfx_webview_vue - **Description**: jfx_webview_vue JavaFX + VUE - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2019-07-08 - **Last Updated**: 2022-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jfx_webview_vue #### 介绍 jfx_webview_vue JavaFX + VUE #### 软件架构 JavaFX WEBview VUE 对Jvm有种执着,虽然electron是好用。 #### 安装教程 1. npm run dev 2. run kotlin/jvm app #### js和Java通信建议 java -> js 修改vue监听的数据即可完成界面数据更改 js -> Java 给js window注入Java对象,js可调Java,也可在Java中用事件总线 #### 错误信息和调试 WebConsoleListener 可以设置获取web的控制台消息() ```$xslt WebConsoleListener.setDefaultListener {webView, message, lineNumber, sourceId -> println("Console:${webView.engine.title} $message [$sourceId:$lineNumber]"); } ``` 这个类没有在module中export,所以在java 9 模块系统里面无法使用 下面的需要允许跨域访问 ```$xslt System.setProperty("sun.net.http.allowRestrictedHeaders", "true"); ``` 用下面这个标签可以利用 firebug 来调试html 但是版本比较老,只能用这个链接,下载下来不行 ```$xslt ``` 也可以使用vue-devtool: https://github.com/vuejs/vue-devtools/blob/master/shells/electron/README.md ``` npm install -g @vue/devtools vue-devtools ``` vue-devtool只能调试布局,不过也够用了 还有 让页面window.oneror 输出到Java 也可以获取页面出错的信息 这篇文章介绍了可以重新定义console.error, console.log, https://www.jianshu.com/p/44fc5ef3c73e 基本就酱紫了。至于打包神马的,后续再弄。 关于Java9之后的模块化Java打包 见 https://www.cnblogs.com/antfin/p/10345016.html 更加推荐官方的文档,https://openjfx.io/openjfx-docs/#maven 模块化能够减小JRE的大小,非常有用,但是坑也比较多。 按照官网给出的方法试了下 maven不能jlink kotlin模块 gradle可以 #### 待解决问题: 1.主程序入口不要 kotlin 否则可能无法运行 2.右键菜单 #### 结论 用jlink生成jdk 再压缩成zip,相比electron-build也无优势。这里只是做一个实验。 #### NOTE 1.模块包导出需要每个包分别导出,否则会错误