Ember.js创建/jeux路由后访问仍跳转默认index.html问题求助
排查步骤
- 检查路由定义
打开app/router.js文件,确认Router.map代码块中已经自动生成了jeux路由的定义,正常执行生成路由命令后应该存在如下代码:
Router.map(function() { this.route('jeux'); });
如果没有这行代码手动补充即可。
检查根模板占位符
打开app/templates/application.hbs文件,确认文件内存在{{outlet}}标签。Ember所有子路由的内容都会渲染在根模板的{{outlet}}位置,如果删除了这个标签,所有子路由内容都无法显示,只能看到根模板的固定内容。确认本地服务编译正常
查看运行ember serve的终端窗口,确认没有编译报错信息。如果存在报错先解决对应报错,也可以尝试重启本地服务后再访问路由测试。检查路由模式配置
打开config/environment.js文件,查看locationType配置项:
- 如果配置为
hash,则正确的访问路径是http://localhost:4200/#/jeux - 如果要使用不带
#的路径,可将配置修改为history
补充说明:Ember是单页应用,所有路由请求都会先加载根目录的index.html,之后由前端JS逻辑渲染对应路由的内容,这属于正常行为。如果访问/jeux时页面内容和首页完全一致,按上述步骤排查即可解决。
内容的提问来源于stack exchange,提问作者Joseph Paris
相关产品推荐
相关产品推荐

