在gwt中添加外部js

我在GWT中写了我的js代码。 为了检查我在(projectName).html文件中添加了我的js代码并且它是有效的。

但是当我尝试添加外部js文件时,我收到一个错误:

WARN] 404 - GET someJsFile.js (127.0.0.1) 1452 bytes Request headers 

我将此行添加到(projectName).gwt.xml文件中:

 <script src="src/main/resources//someJsFile.js"> 

要使用这种技术,您必须将someJsFile.js放在public文件夹中,以便gwt编译器将其复制到放置html和js内容的最终文件夹中。

如果您正在使用maven,则必须检查资源插件是否正在将此文件复制到war以及路径中。

顺便说一句,还有其他技术可以在您的文档中插入外部JavaScript:

  • 将脚本标记放在.html文件中。

  • 使用ScriptInjector .fromUrl()。

  • 更好的方法是使用TextResource和ScriptInjector.fromString()以便编译器读取javascript文件并将内容包含在最终编译文件中。

  • 您可以使用gwtquery Ajax.getScript通过ajax获取脚本并将其注入dom中。

  • 最近添加到gwtquery的一种新方法允许您将javascript包含为JSNI块,以便编译器可以对其进行优化和混淆。

我宁愿最后一个,因为它提供了更多的优势。

您可以在your_project.gwt.xml中定义要包含哪些文件夹作为公共文件夹。 路径应该相对于xml:

 resources/ |-your_project.gwt.xml |-subfolder/ |-stuff/ |-images/ |-js/ |-someJsFile.js 

在你的xml中添加:

  

这应该将images /和js /文件夹复制到你的webapp目录中,你可以像这样使用js文件