使用./make_bootstrap.sh部署Web应用程序时的Sencha编译问题; ./make_compile.sh

时间:2013-07-26 01:48:08

标签: javascript extjs compilation compression

您好我正在开发一个在Ext-JS中实现的Web应用程序。我使用Sencha Cmd v3.0.0.250使用命令./make_bootstrap.sh部署了应用程序; ./make_compile.sh 部署期间没有问题。

可以使用测试链接//mainApplication/app/index_debug.html或// mainApplication / app(访问all-classes.js)url来访问应用程序....

部署应用程序时,它会将所有javaScript文件压缩为一个all-classes.js文件。部署成功。但是当我从url:// mainApplication / app / ...访问应用程序时,它显示以下错误:

Uncaught TypeError: Cannot read property 'dom' of null all-classes.js:1
Ext.define.initContainerall-classes.js:1
Ext.define.renderall-classes.js:1
Ext.define.doAutoRenderall-classes.js:1
Ext.define.showall-classes.js:1
(anonymous function)all-classes.js:1
TableManager::findTables() content.scripts.c.js:11

但是,如果我使用://myApplication/app/index_debug.html访问该应用程序,它可以正常工作。这是出于测试目的,它不像通过all-classes.js

访问那样单独加载所有js文件

我在网上浏览了类似的错误。但是没有在这个级别找到任何东西。如果可以通过index_debug.html访问该应用程序,为什么不能使用相同的javaScript文件访问它而是压缩它?

1 个答案:

答案 0 :(得分:0)

压缩的all-classes.js显然删除了所有空格,因此当格式化(使用Sublime Text的JSFormatter包)变成数千行时,它只是一行代码。由于它是一行我无法找到浏览器抱怨的内容。我格式化了代码并运行了应用程序。并确切地发现它失败了。它指向一个匿名函数。删除该功能后,应用程序就开始工作......所以这里的提示是在使用firebug或chrome开发工具进行调试时格式化压缩代码。