我的app.json文件的Sencha touch 2应用程序包含.
"js": [ { "path": "sdk/sencha-touch.js" },{"path": "js/mootools-1.2.5-core.js"},// I want these files to be bundled too {"path": "js/mootools-1.2.5.1-more.js"},// <----------+ {"path": "js/soundmanager2-nodebug-jsmin.js"},// <----+ ... // <----+ and there are more. ... { "path": "app.js","bundle": true,/* Indicates that all class dependencies are concatenated into this file when build */ "update": "delta" },
现在我看到当我调用sencha应用程序构建生产它将所有的sencha类编译成一个巨大的app.js文件.但是我所有的其他类只是被压缩到构建目录.它们不连接.如何将它们包含在app.js中?
常问问题.
>你的json文件写得好,对吧?
解决方法
在查看源代码并与Cmd背后的开发人员交谈之后,看来目前还是不可能的.
但是,由于构建文件是用JavaScript编写的,理论上来说,修改它并不会将这个功能添加到Cmd中.
您可以在以下位置找到Sencha Touch构建文件:
CMD-ROOT/plugins/touch/current/app-build.js
其中CMD-ROOT是sencha命令的位置 – 您可以通过使用哪个sencha找到它.
在我的系统(OSX)上,路径是:
/Users/Robert/bin/Sencha/Cmd/3.0.0.250/plugins/touch/current/app-build.js
希望这对你有帮助.
更新
看来,在和另一位Cmd开发人员交谈之后,这实际上是可能的.需要采取两个步骤来实现:
1)将skipFrameworkFile属性添加到要捆绑的每个JS资源中.这告诉编译器在您构建应用程序时不复制资源.
{ "path": "resources/js/jquery.js","skipFrameworkFile": true },"path": "resources/js/jquery2.js","skipFrameworkFile": true }
2)使用@require标签要求您的app.js文件中的每个文件.这告诉编译器将你的每个文件都包含在你的app.js文件中.
//@require resources/js/jquery.js //@require resources/js/jquery2.js