umi icon indicating copy to clipboard operation
umi copied to clipboard

routeProps 文档与测试用例补全

Open AdoKevin opened this issue 2 years ago • 9 comments

close https://github.com/umijs/umi/issues/10584

AdoKevin avatar Feb 23 '23 11:02 AdoKevin

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
umi ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 5, 2023 6:44am

vercel[bot] avatar Feb 23 '23 11:02 vercel[bot]

Codecov Report

Patch coverage has no change and project coverage change: -0.01 :warning:

Comparison is base (be82bad) 29.17% compared to head (af54510) 29.16%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #10593      +/-   ##
==========================================
- Coverage   29.17%   29.16%   -0.01%     
==========================================
  Files         479      479              
  Lines       14400    14404       +4     
  Branches     3388     3389       +1     
==========================================
  Hits         4201     4201              
- Misses       9472     9475       +3     
- Partials      727      728       +1     
Impacted Files Coverage Δ
...kages/preset-umi/src/features/tmpFiles/tmpFiles.ts 0.00% <ø> (ø)
...kages/preset-umi/src/utils/routeExportExtractor.ts 0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov[bot] avatar Feb 23 '23 11:02 codecov[bot]

文档暂时写的开启方式为约定式路由默认开启, 配置式路由手动开启,具体的配置方式修改还没有完成?

昨天还没对清楚,现在的最终设定是:如果用户没配 routes ,就自动开启,如果配了 routes ,就不开启,仅服务于约定式路由。

所以文档就在 404 路由 后面开一个二级标题 ## 扩展路由属性 分约定式路由(用 routeProps)和配置式路由(写在 routes 里面)两种情况介绍下用法吧。

我有注意到在routeProps导出的属性中,禁止了layout 属性,我的理解这个是为了禁用全局layout的,这里禁止是出于什么考虑呢?

你说得对,这个地方应该允许 layout ,辛苦把这个 layout 限制去掉吧。

另外:

  1. github actions 加一下,在 .github/workflows

  2. 约定式路由有 routeProps 之后,是不是默认 simple 模板就不需要配置式 routes 了?感觉可以删去改成 routeProps 的模板。(召唤 @sorrycc )

fz6m avatar Feb 23 '23 13:02 fz6m

所以文档就在 404 路由 后面开一个二级标题 ## 扩展路由属性 分约定式路由(用 routeProps)和配置式路由(写在 routes 里面)两种情况介绍下用法吧

关于文档调整结构,我有个两个建议,

  1. 把约定式路由下面的 “全局layout", "不同全局layout", "404路由“ 都作为2级标题。这些配置都不应该是约定式路由专属的,现在结构是约定式路由的下级。
  2. 按照现在的说法, 只有约定式路由支持routeProps,所以这部分描述放在约定式路由的下级是不是更好?

AdoKevin avatar Feb 23 '23 14:02 AdoKevin

  1. 可以去掉 "全局layout" + "不同全局layout" ,开一个二级标题叫布局设定,要分约定式和配置式介绍如何修改 layout ,注意此处 layouts/index.tsx 的约定对配置式布局和约定式均默认生效。

  2. 可以去掉 "404路由" ,开一个二级标题叫 404 路由,要分约定式和配置式介绍如何定义 404 页面,注意约定式是默认读 src/404.tsx ,配置式需要用 /* 兜底。

  3. 虽然只有约定式支持 routeProps ,但是现在的文档没有介绍路由额外属性怎么配的,所以约定式还是配置式路由最好都要有介绍,故期望开一个新的二级标题叫 "路由额外属性" ,分两种路由模式介绍如何配置和使用额外属性。

fz6m avatar Feb 23 '23 14:02 fz6m

@fz6m 这个PR是还需要提供些什么内容吗?

另外,关于开发代理这部分,我注意到 http-proxy-middleware这一类依赖被预先打包放到了 bundler-utils 包里面。 这里面的依赖比如 http-proxy模块需要更新该如何操作?直接提交打包之后的js代码吗?现在的http-proxy模块有一个在Nodejs 15 之后使用有的一个bugfix https://github.com/AdoKevin/node-http-proxy/commit/5e9b01dbe145f016a4d4137b116472fd08274f19 想提交。

AdoKevin avatar Mar 09 '23 10:03 AdoKevin

在对应的包里执行 pnpm build:deps --dep http-proxy-middleware (升级的话单独提个 PR ),另外把这个 PR 的冲突解决下吧,merge 下 master 🌹

fz6m avatar Mar 09 '23 14:03 fz6m

问下这个pr有进展?

liaoyinglong avatar May 19 '23 02:05 liaoyinglong

我试了下最新的 max 里的 pro layout 版本,现在好像不能做到运行时关闭 layout: false 了,先统一用配置式路由吧。

fz6m avatar Nov 06 '23 23:11 fz6m