繁体   English   中英

在执行“npx sb init”(反应故事书)之后:node_modules/react-router/index.d.ts:151:74 - 错误 TS1110:类型预期错误

[英]after doing "npx sb init" (react storybook): node_modules/react-router/index.d.ts:151:74 - error TS1110: Type expected error

我正在处理大型 typescript React Monorepo。 在其中一个包中,我使用“npx sb init”添加了 react storybook

这样做之后,当我对整个 repo 进行 yarn 构建时,出现以下错误:

node_modules/react-router/index.d.ts:151:74 - error TS1110: Type expected.

151 declare type ParamParseSegment<Segment extends string> = Segment extends `${infer LeftSegment}/${infer RightSegment}` ? ParamParseSegment<LeftSegment> extends infer LeftResult ? ParamParseSegment<RightSegment> extends infer RightResult ? LeftResult extends string ? RightResult extends string ? LeftResult | RightResult : LeftResult : RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : ParamParseSegment<RightSegment> extends infer RightResult ? RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : Segment extends `:${infer Remaining}` ? Remaining : ParamParseFailed;
                                                                             ~~~

node_modules/react-router/index.d.ts:151:83 - error TS1005: '}' expected.

151 declare type ParamParseSegment<Segment extends string> = Segment extends `${infer LeftSegment}/${infer RightSegment}` ? ParamParseSegment<LeftSegment> extends infer LeftResult ? ParamParseSegment<RightSegment> extends infer RightResult ? LeftResult extends string ? RightResult extends string ? LeftResult | RightResult : LeftResult : RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : ParamParseSegment<RightSegment> extends infer RightResult ? RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : Segment extends `:${infer Remaining}` ? Remaining : ParamParseFailed;
                                                                                      ~~~~~~~~~~~

node_modules/react-router/index.d.ts:151:94 - error TS1128: Declaration or statement expected.

151 declare type ParamParseSegment<Segment extends string> = Segment extends `${infer LeftSegment}/${infer RightSegment}` ? ParamParseSegment<LeftSegment> extends infer LeftResult ? ParamParseSegment<RightSegment> extends infer RightResult ? LeftResult extends string ? RightResult extends string ? LeftResult | RightResult : LeftResult : RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : ParamParseSegment<RightSegment> extends infer RightResult ? RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : Segment extends `:${infer Remaining}` ? Remaining : ParamParseFailed;
                                                                                                 ~

node_modules/react-router/index.d.ts:151:96 - error TS1161: Unterminated regular expression literal.

151 declare type ParamParseSegment<Segment extends string> = Segment extends `${infer LeftSegment}/${infer RightSegment}` ? ParamParseSegment<LeftSegment> extends infer LeftResult ? ParamParseSegment<RightSegment> extends infer RightResult ? LeftResult extends string ? RightResult extends string ? LeftResult | RightResult : LeftResult : RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : ParamParseSegment<RightSegment> extends infer RightResult ? RightResult extends string ? RightResult : ParamParseFailed : ParamParseFailed : Segment extends `:${infer Remaining}` ? Remaining : ParamParseFailed;
                                                                                                   


Found 4 errors.

error Command failed with exit code 1.

我用谷歌搜索,但只找到一个结果是同样的问题,而且没有解决。 有谁知道可能是什么问题?

我通过执行以下操作修复了错误

npm i react-router-dom@5.3.0
npm i @types/react-router-dom@5.3.0

您是否尝试更新 typescript 版本? 将 typescript 更新到最新版本后,我遇到了这个问题 "typescript": "4.5.4" 修复了上述问题。

注意:但对我来说,这个问题发生在我尝试提交我的项目时,husky pre-commit 钩子开始发出这个错误。

https://docs.microsoft.com/en-us/answers/questions/666336/issus-in-react-router-when-import-any-component-in.html

集成故事书后,我也遇到了同样的问题。我无法使用 yarn start 运行应用程序。

我尝试使用yarn upgrade typescript@latest typescript (如果您使用 npm 然后使用npm update typescript@latest

升级 typescript 后,我的问题得到了解决。

谢谢

这是已知的错误喜欢

Cannot find name 'infer'.
...
ERROR TS2304: Cannot find name 'LeftSegment'."

当我有一个"typescript": "~4.0.2"时会发生这种情况,因此您需要使用命令npm i typescript@latest将 typescript 更新到最新的稳定版本,在我的情况下更新为"typescript": "^4.5.4"

通过这些更改,故事书应该可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM