我最近将我的应用程序切换到Vaadin 14原生NPM(非兼容性模式)和生产模式。Vaadin版本为14.3.7。这是一个Spring Boot应用程序,使用Gradle打包为可执行的. war文件。我正在使用Vaadin Gradle插件。
事情工作正常,除了在Safari(iOSMac)的应用程序是不可用的。以下错误可以在Mac上看到:
TypeError: 'text/html' is not a valid JavaScript MIME type.
我发现有消息称ES6模块可能会在Safari上导致此错误,但我认为默认情况下,Vaadin会在生产模式下传输到ES5。
我能做些什么使Safari上的工作也能正常进行?
更新build.gradle
文件中的一些相关部分:
plugins {
...
id 'com.vaadin' version '0.8.0'
}
ext{
...
set('vaadinVersion', "14.3.7")
}
dependencies {
...
implementation('com.vaadin:vaadin-spring-boot-starter') {
["com.vaadin.webjar", "org.webjars.bowergithub.insites",
"org.webjars.bowergithub.polymer", "org.webjars.bowergithub.polymerelements",
"org.webjars.bowergithub.vaadin", "org.webjars.bowergithub.webcomponents"]
.forEach { group -> exclude(group: group) }
}
...
}
vaadin {
optimizeBundle = true
pnpmEnable = true
productionMode = true
}
结果证明,这是由以下因素共同造成的:
Crossoriation="use-凭据"
。交叉点
,而不是交叉点="use-凭据"
(这可以被认为是一个错误,因为他们正式支持Safari)。有关详细信息,请参阅https://jakearchibald.com/2017/es-modules-in-browsers/, https://stackoverflow.com/a/52559612/775138还有约翰·梅肯的评论。
我们通过将Apache配置为不保护捆绑包的路径来解决这个问题。
我无法在Appium检视器中记录移动Safari的Web应用程序的测试。我已经启动了服务器并打开了Appium检查员。当我点击记录按钮时,它会显示一个网页,但是我不能选择网页中的元素。我已经附上了截图:
前言:我是一个高级Vaadin开发人员(我已经使用了6,7,现在我所有的项目都迁移到了Vaadin 8)。 我开始研究瓦丁10/Flow,但我发现自己陷入了困境。 我真正纠结的是“项目”本身。我越深入,就越觉得这个框架正在进入一个基于css/html的框架,这需要比java更多的css/html知识。我的意思是,如果你不完全知道css和html是如何工作的,你就不能再轻松地使用这个框架了。 问题是
Vaadin 7中的和组件之间有什么区别? 我应该使用哪种,何时使用?
我在浏览器上运行该应用程序时出现错误。 错误是 我的配置 离子型: Ionic CLI : 6.13.1 Ionic框架:@ Ionic/angular 6 . 1 . 13 @ angular-dev kit/build-angular:14 . 0 . 5 @ angular-dev kit/schematics:14 . 0 . 5 @ angular/CLI:14 . 0 . 5 @ Io
有谁能向我解释一下Vaadin的服务器端Java组件是如何工作的吗?它们似乎在服务器端状态和称为“widgetset”的客户端javascript引擎之间进行同步。 有没有人对Vaadin的内部结构有更详细的解释?我一直试图向我的同事们解释这件事,却不知该说些什么。
是否有可能强制Vaadin8网格从后端热切地加载所有行?目前,它只显示屏幕上可见的记录,并在网格滚动时获取下一行。