【问题标题】:Customize the Loader for a MVC App为 MVC 应用程序自定义加载器
【发布时间】:2012-12-04 08:50:16
【问题描述】:

我需要在我的 MVC 项目中为 Ext.Loader 使用自定义路径。我已经浏览过 API 并没有发现任何可用的东西。如果我直接设置加载器,它会被简单地覆盖,正如 MVC 应用程序设置所显示的那样。那么如何自定义 MVC 应用的加载器路径呢?

此外:如果可以调整加载器以将同一来源出现的多个需求汇总到一个请求中,那就太棒了。这可能吗?

提前感谢您的任何建议

编辑

加载器默认调用app/controller/MyController.jsapp/store/MyStore.js之类的东西

我的目标是修改此路径,例如 load/data/app/controller/MyController 或更好的 load/data?ident=app.controller.MyController 或通过 JSON 的最佳请求

编辑 2

感谢大家的回复!我再次查看了 Ext.app.Application 的源代码,但找不到加载程序的初始化位置。是的,我找到了 appFolder 属性,但没有找到它的使用位置。而我对 appFolder 方法的问题是,由于应用了 GET 参数,我无法使用路由。所以猜测最好是修改Ext.Loader,不是吗?还是加载器能够加载整个命名空间?

【问题讨论】:

  • 不知道这里问的是什么。你能提供你的 app.js 代码吗?
  • 我认为@dougajmcdonald 说得对。

标签: extjs extjs4 classloader loader extjs-mvc


【解决方案1】:

如果您需要更改相对于网站的根目录,您可以在应用程序中设置“appFolder”配置属性。

例如,如果您拥有 www.mysite.com,但您想将 .js 文件存储在 www.mysite.com/scripts/ext/ 中,您可以执行以下操作:

Ext.application({
    name: 'MySite',
    appFolder: '/scripts/ext'
});

不确定这是否正是这里所要求的,但可能会给你一个起点。

【讨论】:

  • 感谢您的回复,但这并不是我真正想要的,因为加载程序的行为仍然相同。我不直接从文件系统加载,这就是我不想修改它的原因。
【解决方案2】:

我想如果不进行许多修改,您将尝试归档的内容是不可能的。您必须为此更改加载程序,以使其适合您的请求需求。我认为您可能会更好地在后端定义一些路由并使用@dougajmcdonald 编写的方法。我想你会以几乎相同的方式结束。

但您应该注意,当您让 Webserver 获取文件然后按代码执行时,它会快得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多