使用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
路径下文件也没有被构建为路由,所以这里很疑惑。
你把你的model.js放在models文件夹里面,然后在你的umirc.js里面配置
routes: {
},