我将ExtJS与Grails结合使用。我在该项目中已经有两个ExtJS应用程序,现在我想添加第三个。
新应用程序在开发模式下运行良好,但当我在生产模式下启动它,然后尝试在浏览器中打开它时,屏幕保持白色,铬控制台告诉我引导。生产构建文件夹中缺少js。这是真的,没有这样的文件。首先,我在构建prod时寻找一个配置来添加这个文件,但后来我注意到,在我已经拥有的另外两个工作应用程序中,没有引导程序。生产版本中的js文件。取而代之的是微型装载机。js文件。不幸的是,我不是设置这些扩展应用程序的人,所以我不知道原因。
然后,我注意到我的新的不工作应用程序与两个工作应用程序之间的另一个区别是在索引中。gsp文件。
新版本:
<g:if env="production">
<base href="../path">
<script id="microloader" data-app="1234..." type="text/javascript"
src="bootstrap.js"></script>
</g:if>
<g:else>
<base href="..path">
<script id="microloader" data-app="1234..." type="text/javascript"
src="bootstrap.js"></script>
</g:else>
其中一个有效的:
<g:if env="production">
<base href="../path/">
<script id="microloader" data-app="4321..." src="microloader.js"></script>
</g:if>
<g:else>
<base href="../path/">
<script id="microloader" data-app="4321..." type="text/javascript" src="bootstrap.js">
</script>
</g:else>
更改新索引。因此,gsp只会导致微装载机。缺少js而不是bootstrap.js
我注意到的另一件事是索引。在构建文件夹中创建的html看起来不同。
旧的看起来非常简单和基本,而新的里面有很多代码,看起来与微加载器中的代码相当。工作应用程序中的js文件。
我有以下假设:
1.如果文件名为bootstrap。js或microloader。js无关紧要,它只是一个不同的名称,但是一样的。
1.因为我们使用索引。gsp将索引归档。不使用生产构建文件夹中的html文件。
1.旧应用程序中有一个配置,告诉应用程序使用微加载器。js而不是索引中的代码。html,这是我在新版本中缺少的。
这里有没有人可能遇到过类似的问题,或者知道如何解决这个问题?
我在旧的和新的应用程序中使用ExtJS 7.5.1。但是,新的工具使用了现代工具集,而不是使用经典工具集的旧工具集。使用Grails 2.5.6。
如果你需要其他信息,请告诉我。
提前非常感谢。
1条答案
按热度按时间xxe27gdn1#
我能够理解。我的第三个假设是正确的,第二个假设可能也是正确的。默认情况下,微加载器。js被添加到index.html中。因为在我的例子中,我使用索引。gsp,我们必须添加一个配置来告诉sencha,它将microloader写入一个单独的文件。配置在应用程序中。json,看起来像这样:
这里重要的一点是:
当添加此配置并再次运行“sencha-app-build”时,将有一个单独的文件微加载程序。然后我可以更改新索引。gsp看起来像索引。旧应用程序的gsp文件。
我希望这对将来的人有帮助。
顺致敬意,