2012-05-09 50 views
6

所以...因为我已经通读了Sencha Command文档,它告诉我,构建将自动(使用Phantom JS)告诉我什么是我的依赖关系是,以什么顺序。基于此,我期待“sencha app build production”命令将我所有的依赖连接成一个js文件,而不管我是否手动将它们包含在app.json文件中。但是,我没有看到这种情况发生。sencha应用程序构建生产:不结合我的js

我必须手动维护app.json中的JS文件列表吗?如果是这样,那很好。我只是理解不同于文档。请帮忙。

编辑 -
所以我的index.html是非常小的。它只有一个脚本标记到一个外部资源js文件,并且有一个脚本标记到'sdk/microloader/development.js'。我的app.js没有在我的index.html中引用。当我终端到我的应用程序目录并运行“sencha应用程序构建生产”命令时,它完成没有错误。但是,它只找到53个依赖性,当我知道我们有超过500这是在终端输出,当我运行构建:

[email protected] ~/source/ab/AreaBook/web/src/main/webapp/sencha2 $ sencha app build -e production 
[INFO] Deploying your application to /home/aaronfrost/source/ab/AreaBook/web/src/main/webapp/sencha2/build/production 
[INFO] Copied sdk/sencha-touch.js 
[INFO] Copied app.js 
[INFO] Copied resources/css/app.css 
[INFO] Copied resources/icons 
[INFO] Copied resources/loading 
[INFO] Resolving your application dependencies (file:////path/to/my/sencha2/index.html) 
[INFO] Found 53 dependencies. Concatenating all into '/dir/to/my/sencha2/build/production/app.js' 
[INFO] Processed sdk/sencha-touch.js 
[INFO] Minifying sdk/sencha-touch.js 
[INFO] Processed app.js 
[INFO] Minifying app.js 
[INFO] Minifying resources/css/app.css 
[INFO] Minified sdk/sencha-touch.js 
[INFO] Minified app.js 
[INFO] Minified resources/css/app.css 
[INFO] Generated app.json 
[INFO] Embedded microloader into index.html 
[INFO] Generating checksum for appCache item: index.html 
[INFO] Generated cache.manifest 

于是我就看在我的新app.js就是在我的构建/生产文件夹中,它将一堆sencha依赖关系连接在一起,但我的app.js是我的app.json中唯一引用的js文件,它是唯一被concat和缩小的文件。这就是为什么我想知道是否必须手动将它放在app.json中才能得到concat和缩小。我的app.js中列出的所有依赖项都不包含在构建的app.js中。

总之,它不会给我与我期望的相同的行为,用我所有的依赖项来构建我的app.js。任何想法都会很好。

+0

你是在谈论ST2依赖关系(使用'requires'声明)还是你在谈论外部依赖关系?根据我的理解,只有来自MVC体系结构的js文件和使用'require'明确声明的依赖项才会被合并到您的构建app.js.如果你想包含外部的js脚本(与ST2无关),那么我认为你必须在app.json中提及它们。无论如何,将ST2脚本与外部脚本混合是一件好事吗?这些库是? – borck

+0

我正在谈论ST2依赖关系。它们都在类文件中的require部分中。 – frosty

+0

这很奇怪......你提到的依赖关系的数量确实很低。你能确定哪些依赖关系丢失?就我而言,sencha命令总是包含所有内容,而无需修改app.json中的任何内容......您是否使用sencha命令创建了您的应用程序? – borck

回答

1

根据我的经验,我从来不需要修改app.json。在'Ext.requires'语句中提到的所有内容都由sencha命令自动连接到最终(唯一)js文件中。

如果你仍然有问题,也许你应该提供一些关于未正确处理的文件的更多细节。

+0

我添加了一个编辑。请检查一下。 – frosty

相关问题