我在gatein-resources.xml上添加了ExtJS(我使用的是ExtJs 3.2)库(我正在使用GateIn 3.6),方法如下
<module>
<name>ext-base</name>
<script>
<path>/javascript/lib/ext-2.1/adapter/ext/ext-base.js</path>
</script>
</module>
<module>
<name>ext-all</name>
<script><path>/javascript/lib/ext-2.1/ext-all.js</path></script>
<depends>
<module>ext-base</module>
</depends>
</module>
<module>
<name>extCommons</name>
<script><path>/javascript/commons/extCommons.js</path></script>
<depends>
<module>ext-base</module>
</depends>
</module>
.....
<portal>
<name>MyPortal</name>
<module>
<depends>
<module>ext-base</module>
</depends>
<depends>
<module>extCommons</module>
</depends>
<depends>
<module>ext-all</module>
</depends>
</portal>
但是当我启动GateIn时,我的firebug控制台上出现 Ext未定义错误
另外here我附加了由gatein-resources.xml文件处理的ext-base.js文件(Here是原始的ext-base.js)
但它在GateIn 3.2上运行良好。在那个版本上,我使用了&lt; javascript&gt;用于添加javascript gatein-resources.xml文件的标记。但是在GateIn 3.6中不建议使用此标记,因此我在gatein-resources.xml上使用了上面指定的标记
如何重现此问题: - Here是ext-base.js文件,它在启动GateIn时来自gateIn的标头标记,并通过gatein添加此ext-base.js文件-resources.xml。 Here是原始的ext-base.js。这两个文件的区别在于来自gatein的ext-base.js,其中包含一些额外的代码行,如下所示
define('SHARED/ext-base', [], function() {
var require = eXo.require, requirejs = eXo.require,define = eXo.define;
eXo.define.names=[];
eXo.define.deps=[];
return //Continued by original ext-base code
});
但是如果你在firebug控制台上运行这段代码并执行'Ext'命令,那么firebug会返回一个“Ext not defined”的错误。 但是如果你运行原始代码,那么你可以成功执行'Ext'命令。 我重复'我正在使用GateIn作为开发模式'
答案 0 :(得分:0)
您可以使用<portal>...</portal>
标记直接在<script>
标记之间导入javascript。为此,您需要安排gate in-resource.xml,如下所示
<portal>
<name>MyPortal</name>
<scripts>
<script><path>/javascript/lib/DwrProxy.js</path></script>
<script><path>/javascript/commons/validation.js</path></script>
<script><path>/javascript/lib/ext-2.1/ext-all-debug.js</path></script>
...
</scripts>
</portal>