【问题标题】:Sencha Compile issue while deploying web application using ./make_bootstrap.sh; ./make_compile.shSencha 使用 ./make_bootstrap.sh 部署 Web 应用程序时出现编译问题; ./make_compile.sh
【发布时间】:2013-07-26 01:48:07
【问题描述】:

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

可以使用测试链接访问应用程序 //mainApplication/app/index_debug.html 或 //mainApplication/app (accesses 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 访问该应用程序,它可以正常工作。这是出于测试目的,它单独加载所有 js 文件,而不是通过 all-classes.js 访问

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

【问题讨论】:

  • 您在控制台中没有任何带有 index_debug.html 的警告吗?类似于“类 XXX 已同步加载,考虑使用 Ext.require 等”?
  • 你是对的。我在控制台中也收到了 index_debug.html 的相同警告,即使它运行了。

标签: javascript extjs compilation compression


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 2011-12-13
    相关资源
    最近更新 更多