-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[wip] feat: qiankun runtime support mfsu #665
base: master
Are you sure you want to change the base?
Conversation
@@ -27,7 +28,6 @@ function testPathWithStaticPrefix(pathPrefix: string, realPath: string) { | |||
|
|||
function testPathWithDynamicRoute(dynamicRoute: string, realPath: string) { | |||
// FIXME 这个是旧的使用方式才会调到的 api,先临时这么苟一下消除报错,引导用户去迁移吧 | |||
const pathToRegexp = require('path-to-regexp'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
想起来了,之前这么搞是有原因的,看下上面一行的注释😂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
和 import 还是 require 应该没关系吧
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
import 因为是静态的,不管用没用都会引入这个包的代码,这个在一些场景下会抛警告
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
那...用户什么时候能迁移完呢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
import 因为是静态的,不管用没用都会引入这个包的代码,这个在一些场景下会抛警告
可以给个场景吗😮
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
应用自己在包里引用了 path-to-regexp v6 版本,但是插件依赖的是 v1,导致 api 调用失败。
插件不会引自己声明的包的原因是,common.ts 再编译时被移到 .umi 里了,所以找到的是应用自己声明的包。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v6 版本的 path-to-regexp 没有 default export,所以会触发一个 warning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
感觉得换成绝对路径才行。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
绝对路径也不好搞,因为当应用没有自己引 path-to-regexp 时,插件引入的就会被 hoist 到根 node_modules 里,而不是插件自己的 node_modules 下。
最好的方式是把这段逻辑下线。
不过 mfsu 的场景下因为要把插件的 runtime 代码都挪到 .umi 里,一旦插件自己引的包跟应用引的版本不一致,都会出现这种问题
使用 import 代替 require 语句