我已经将用于 ext + deftjs 应用程序的构建工具从 Sencha SDK 升级到 Sencha Cmd (v3)。为此,我还将 Ext 升级到 4.2,将 Deft 升级到 Ext 0.8。我最初遇到了 Ext.onReady() 没有被触发的问题,导致我的 viewControllers 没有从它们相应的视图中实例化。但是,我已经解决了这个问题,应用程序现在正在开发模式下工作
我现在正在尝试使用命令构建应用程序sencha app refresh
,sencha app build
但构建的应用程序根本没有加载。
同样,我的 ViewControllers 没有被实例化。构建工具已将 deft 类和视图控制器添加到 all-classes.js。(Deft 类首先在文件 + 视图控制器中进一步向下)
sencha.cfg包含以下类路径:
app.classpath=${app.dir}/Deft,${app.dir}/ux,${app.dir}/uvd,${app.dir}/app,${app.dir}/inj.js,${app.dir}/app.js
inj.js包含我的加载器声明:
Ext.Loader.setConfig({
enabled:true,
paths:{
'UVd': 'uvd',
'Ext.ux' : 'ux',
'Deft' : 'Deft',
'FM' : 'app',
'Ext': 'ext/src'
}
});
Ext.syncRequire([
"Ext.Component",
"Ext.ComponentManager",
"Ext.ComponentQuery",
'Deft.mixin.Controllable',
'Deft.mixin.Injectable',
'Deft.Injector'
]);
我的主视口是要实例化的第一个视图,它包含以下声明:
Ext.define('FM.view.Viewport', {
extend: 'Ext.panel.Panel',
requires: [
'FM.controller.Viewport'
],
// DI
controller: 'FM.controller.Viewport'
我的开发index.html看起来像这样:
<!-- <x-compile> -->
<!-- <x-bootstrap> -->
<script src="ext/ext-all.js"></script>
<script src="bootstrap.js"></script>
<!-- </x-bootstrap> -->
<script type="text/javascript" src="inj.js"></script>
<script src="app.js"></script>
<!-- </x-compile> -->
有谁知道为什么视图控制器不会在应用程序的编译版本中实例化?
谢谢