运行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
相关产品推荐
相关产品推荐

