【发布时间】:2014-12-22 12:46:54
【问题描述】:
我想在一天结束的时候我正在寻找一个相当于旧的 ExtJS “构建你自己的”。我知道 sencha 对此表示“不满”,他们认为这不是创建应用的方式,但我的要求不符合此要求。
基本上,我有一个非常大的企业应用程序。将加载到每个单独客户端中的 js 将根据其用户配置文件、安全访问等而有所不同。这是一个 J2EE 应用程序,用户配置存储在数据库中。
此外,为了防止加载大量未使用的 javascript,每个配置所需的脚本都会在用户请求“页面”时动态加载。出于各种原因,这对我们很有效,尤其是安全权限较低的用户不会将脚本加载到他们无法使用的浏览器中——服务器端可以管理哪些用户可以下载单个脚本,这可以防止不可信的用户检查脚本以寻找漏洞。
我们在偏远地区也有大量用户使用低带宽和/或移动连接,因此 ext-all.js 的初始负载大小正在成为一个问题。
Sencha cmd 对我们不起作用。它不适合我们的模型,因为它无法扫描所有代码的依赖关系,我需要将 ExtJS 代码与应用程序代码分开。
所以最终我正在寻找一种方法来合理地减少 ext-all.js 的大小,方法是删除我们不使用的部分。我还想构建自定义版本,服务器端代码可以根据用户配置文件和要求动态选择(即移动设备上的基本版本与系统管理员的完整版本)。我很高兴必须维护某种依赖列表/脚本,然后我可以通过 Sencha Cmd 或 yui-compressor 运行它来创建构建文件,但我真的想知道最好的方法来做到这一点。某处必须有一个构建脚本提供 ext-all.js - 这是我可以更改和削减以满足我的需求的东西吗?
或者有一种方法可以配置 Sencha Cmd 为虚拟“应用程序”生成一个单独的 ext.js 文件,我在其中放置我需要的 extjs 功能的框架代码,它会生成干净的 ext.js 文件而没有包含虚拟应用程序代码?这样,如果我在生产代码中使用新的 extjs 功能,我可以在虚拟应用程序中添加对此的引用并重新生成新的 ext.js 版本。
【问题讨论】:
标签: extjs extjs5 sencha-cmd