You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Sencha程序白屏且出现404加载错误,疑Grid调用Store有误

Sencha白屏+404错误排查方案

错误核心分析

控制台的404错误明确指向app/model/MovieStore.js找不到,这是Sencha MVC规范不匹配导致的——Store类文件必须放在app/store/目录,而非app/model/,Ext.Loader会严格按照类名对应目录加载文件。

具体排查步骤

  • 检查Store类定义与文件路径匹配性
    打开你的Store文件,确认顶部Ext.define的类名和文件路径完全对应:

    // 类名必须是「项目名.store.MovieStore」
    Ext.define('MyApp.store.MovieStore', {
        extend: 'Ext.data.Store',
        // ...其他配置
    });
    

    对应的文件必须放在app/store/MovieStore.js,文件名大小写要和类名一致(Sencha对大小写敏感)。

  • 修正Grid组件中Store的引用方式
    Grid里配置store时,必须用类名(或别名),不能写硬编码路径:

    // 正确写法(两种都可以)
    Ext.define('MyApp.view.MovieGrid', {
        extend: 'Ext.grid.Panel',
        store: 'MovieStore', // 直接用Store类名的最后部分
        // 或者写完整类名
        // store: 'MyApp.store.MovieStore'
    });
    

    禁止使用store: '../model/MovieStore'这类相对路径,会导致Loader找错位置。

  • 验证项目目录结构
    确认项目根目录下存在app/store/文件夹,且MovieStore.js确实在该目录内,不要误放到app/model/下。

  • 检查Ext.Loader配置
    打开app.js,确认Loader的路径配置未被错误修改:

    Ext.Loader.setConfig({
        enabled: true,
        paths: {
            'MyApp': 'app' // 默认正确配置,不要把store路径指向model
        }
    });
    
  • 清理缓存并重建项目
    浏览器按Ctrl+Shift+R强制刷新清除缓存;如果用Sencha Cmd开发,执行sencha app build development重新生成bootstrap文件。

新建项目仍出错的可能原因

你在新建项目时,大概率是手动将Store文件放到了app/model/目录,或是复制旧代码时带入了错误的路径引用,严格按照上述规范调整即可解决。

内容的提问来源于stack exchange,提问作者Leeraymoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:15:01