我在文件夹 [app]/main/create_parent/create_parent.js 中有一个基本控制器
定义为
$.Controller('Impress.Main.CreateParent',
我有几个扩展 CreateParent 的子控制器,例如 [app]/contact/create/create.js
定义为
Impress.Main.CreateParent('Impress.Contact.Create',
这一切都很好(大部分)未压缩,随机我得到错误说它找不到基本控制器......一旦压缩和打包,我一直收到错误说基本控制器没有定义。
由于窃取加载顺序问题,这是显而易见的。在我的主要 [app name].js 中,我有:
steal('jquery')
.then('./resources/jquery-ui', './resources/image_uploader')
.then('jquery/controller/subscribe')
.then(
'impress/main/create_parent','impress/main/list_parent')
.then(
'./impress.css', // application CSS file
'./models/models.js', // steals all your models
'impress/contact/create',
...
所以我先“偷”了基地吃的父母,然后“偷走了”其余的控制器……所以看来我做得对吗?即使我首先在我的contact/create/create.js 文件中窃取了basec 控制器,它仍然会抱怨。
再说一次,这一切在未压缩时在大多数负载上都可以正常工作,尽管我确实随机得到了错误,但一旦压缩它是一致的。我显然误解了steal的功能,因为我认为“then”语法是定义加载顺序?
谢谢汉斯