@JsModule("./src/jquery-loader.js")
@JsModule("./src/myplugin-loader.js")
在jquery-loader.js类似:
import * as $ from 'jquery';
window.jQuery = $;
window.$ = $;
这将允许我在myplugin-loader.js中导入一个jQuery插件,例如:
import "my-plugin/dist/myplugin.min.js";
在插件的代码中,“ jQuery”全局变量可访问。
这不再与vaadin 23或24一起使用。我都得到了:
ReferenceError: jQuery is not defined
或
can't define property "myplugin": Object is not extensible
(后者插件试图将自己设置为jQuery对象的属性)注意,在Vaadin 23中,我仍然可以在Vaadin开发模式下运行我的应用程序,该错误仅在生产模式下出现。而在Vaadin 24中,错误出现在开发和生产模式下。
所有这些都导致我的vaadin应用程序没有启动(加载进度栏永远不会消失)。根据定义全局JavaScript变量,从Vaadin 14到23的变化是什么?
Vaadin使用Vite进行前端构建,因此它与JQuery这样的旧书库不友好。有时,您确实想在整合取决于它的旧版JavaScript库时使用它。例如。我在使用旧的pivottable.js库创建
-opivottable组件时就这样做了。然后,解决方案不是将其包括在捆绑包中,而是从资源中加载它。
e.g。如果有枢纽,我有这些然后只下载所需的文件,然后将它们下载到您的项目资源文件夹中。 “ ./ pivot_connector.js”是我的中层文件,由于我所使用的库未经Node和vite处理,因此我在那里不使用导入语句,但我只是直接使用jQuery。