【问题标题】:adding external js in gwt在gwt中添加外部js
【发布时间】:2013-12-02 06:10:49
【问题描述】:

我在 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>

【问题讨论】:

  • 您可以将脚本添加到索引页面中。

标签: java javascript gwt


【解决方案1】:

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

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

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

  • 将脚本标签放在您的 .html 文件中。

  • 使用ScriptInjector.fromUrl()。

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

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

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

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

【讨论】:

  • 公开? “src/main/resources/”不公开?
  • "将脚本标签放置在您的 .html 文件中。"我把这个标签也 .html 文件不起作用,但控制台什么也没写
  • 通常,如果您的模块文件是 com/yournamespace/YourModule.gwt.xml,则 GWT 中的约定是将应用程序所需的静态文件放在文件夹 com/yournamespace/public
【解决方案2】:

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

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

在你的xml中添加:

<public path="subfolder/stuff" />

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

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

【讨论】:

  • 我可以把
猜你喜欢
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多