umijs使用约定路由将model也生成进了路由
使用umi.js+dva.js构建应用时路由问题
照着umi.js的文档构建包含dva.js的项目时,使用约定路由自动生成的路由文件会将dva.js的model文件也生成路由项
相关代码
pages结构
+pages
-index.js
-model.js
自动生成的routes
routes: [
{ path: '/', component: './pages/index.js' },
{ path: '/model', component: './pages/model.js' }
]
按照文档中所述,在使用dva.js时,model会按照名称进行自动注册,规则如下:
src/models/**/*.js
为 global modelsrc/pages/**/models/**/*.js
为 page model- global model 全量载入,page model 在 production 时按需载入,在 development 时全量载入
- page model 为 page js 所在路径下
models/**/*.js
的文件- page model 会向上查找,比如 page js 为
pages/a/b.js
,他的 page model 为pages/a/b/models/**/*.js
+pages/a/models/**/*.js
,依次类推- 约定 model.js 为单文件 model,解决只有一个 model 时不需要建 models 目录的问题,有 model.js 则不去找
models/**/*.js
注册为model之后,应该不会被构建为路由,ant admin中使用这种机构时,model.js
文件或/models
路径下文件也没有被构建为路由,所以这里很疑惑。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你把你的model.js放在models文件夹里面,然后在你的umirc.js里面配置
routes: {
},
同问,我这个总是把models里的文件生成路由,好烦!
然后是坑爹的路由:
请问怎么解决这个问题?