Closed mizi-lin closed 3 years ago
最小复现
git@github.com:mizi-lin/dumi-issues.git
$ yarn
$ ./node_nodules/.bin/dumi dev
{
"dependencies": {
"eslint": "^6.8.0",
"react": "16.13.0",
"react-dom": "16.13.0",
"umi": "3.0.7"
},
"devDependencies": {
"dumi": "1.0.5",
"typescript": "3.8.2"
}
}
经测试,只要安装 eslint 的包,就会报错·~~
@mizi-lin ,这个和dumi没关系。。。应该是eslint的锅,我昨天也碰到了类似的问题,装就是了。。
就是它提示你什么module找不到,就装什么module
@henryzp
在@umijs/fabric 加载了一个低版本eslint(eslint "^5.16.0")的包,由这个低版本的包引起的问题 而这个包又是 dumi 依赖包 sylvanas 下的依赖包
解决方案也简单 无需装提示的包,配置 package.resolutions.eslint: '^6.8.0', 解决包依赖版本不一致就好;
但最好能从根源上解决这个问题·~~
@mizi-lin 突然发现你曾经是面试我的人。。。你的这个解法可以,我可能比较着急,所以按它提示的缺什么缺什么了。
yarn + eslint 6 + dumi 自带的 eslint 5,百分百重现,由于 ESLint 的 resolve 机制问题(https://github.com/eslint/eslint/issues/3458)以及 yarn 把依赖拍平,目前无解。
但可以使用 npm 作为包管理器解决,同时还要 patch 一下 ESLint 糟糕的 resolve 机制:
// .eslintrc.js
require("@rushstack/eslint-config/patch-eslint6")
module.exports = {
// ....
}
来自 @crazyair 建议,v1.1.0-beta.32 中开始使用 TypeScript Playground 在线链接代替编译时 sylvanas
转 TSX,应该不存在这个问题了,运行平稳的话会在 1.1 正式版的时候 close 该 issue
包冲突
<code>
时,可以正常启动<code>
时,报如下错误