我在GWT中写了我的js代码。 为了检查我在(projectName).html文件中添加了我的js代码并且它已经工作了。
但是当我尝试添加外部js文件时,我收到一个错误:
WARN] 404 - GET <path to js file>someJsFile.js (127.0.0.1) 1452 bytes
Request headers
我将此行添加到(projectName).gwt.xml文件:
<script src="src/main/resources/<projectName>/someJsFile.js"></script>
答案 0 :(得分:8)
要使用此技术,您必须将someJsFile.js
放在public
文件夹中,以便gwt编译器将其复制到放置html和js内容的最终文件夹中。
如果您正在使用maven,则必须检查资源插件是否正在将此文件复制到war以及路径中。
顺便说一句,还有其他技术可以在您的文档中插入外部JavaScript:
将脚本标记放在.html文件中。
使用ScriptInjector。fromUrl()。
更好的方法是使用TextResource和ScriptInjector.fromString()
,以便编译器读取javascript文件并将内容包含在最终编译文件中。
您可以使用gwtquery Ajax.getScript通过ajax获取脚本并将其注入dom。
最近添加到gwtquery的new way允许您将javascript包含为JSNI块,以便编译器可以对其进行优化和混淆。
我宁愿选择最后一个,因为它提供了更多优势。
答案 1 :(得分:1)
您可以在your_project.gwt.xml中定义要包含为公共文件夹的文件夹。路径应该相对于xml:
resources/
|-your_project.gwt.xml
|-subfolder/
|-stuff/
|-images/
|-js/
|-someJsFile.js
在xml中添加:
<public path="subfolder/stuff" />
这应该将images /和js /文件夹复制到你的webapp目录中,你可以像这样使用js文件
<script src="js/someJsFile.js"></script>