错误:找不到模块'@ckeditor/ckeditor5-build-classic'角度9的声明文件
Posted
技术标签:
【中文标题】错误:找不到模块\'@ckeditor/ckeditor5-build-classic\'角度9的声明文件【英文标题】:error: Could not find a declaration file for module '@ckeditor/ckeditor5-build-classic' angular 9错误:找不到模块'@ckeditor/ckeditor5-build-classic'角度9的声明文件 【发布时间】:2020-10-22 16:32:47 【问题描述】:我想在 Angular 9 中使用 ckeditor,我按照https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html 中的说明进行操作 但它在我导入“@ckeditor/ckeditor5-build-classic”时显示错误:
Could not find a declaration file for module '@ckeditor/ckeditor5-build-classic'.
'a:/repositories/BasimStore/source/Web/Frontend/node_modules/@ckeditor/ckeditor5-build-classic/build/ckeditor.js' implicitly has an 'any' type.
Try `npm install @types/ckeditor__ckeditor5-build-classic` if it exists or add a new declaration (.d.ts) file containing `declare module '@ckeditor/ckeditor5-build-classic';`
我在 package.json 中有 "@ckeditor/ckeditor5-angular": "^1.2.3" 和 "@ckeditor/ckeditor5-build-classic": "^20.0.0" 但它仍然显示错误。 我在 ckeditor5-build-classic 文件夹中找不到 index.d.ts。我应该如何解决这个错误?
【问题讨论】:
【参考方案1】:在您的项目根目录或任何文件夹中添加 typings.d.ts 文件
在输入文件中添加以下代码
declare module '@ckeditor/ckeditor5-build-classic'
const ClassicEditorBuild: any;
export = ClassicEditorBuild;
Angular 会自动检测类型并将其编译为依赖项,这将解决它在官方 CKEDITOR 页面中也建议的问题:https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html
目录结构
【讨论】:
除了上述建议外,请执行以下步骤:将导入添加到发生该问题的组件中,例如 x.component.ts import * as ClassicEditorBuild from '@ckeditor/ ckeditor5-build-classic'; export class x implements OnInit public Editor = ClassicEditorBuild;constructor() ngOnInit(): void 最后,在 x.component.html我对 Angular 8 也有同样的问题 "@ckeditor/ckeditor5-angular": "^1.2.3", "@ckeditor/ckeditor5-build-classic": "^19.0.2",
编辑:我找到了这个解决方案:编辑你的 TypeScript 配置文件 (tsconfig.json) 并添加一个新的键值对
"noImplicitAny": false
【讨论】:
【参考方案3】:如果有人仍然感兴趣,可以向 TS 提供社区支持。 您需要做的就是使用以下条目更新您的 package.json:
"@types/ckeditor__ckeditor5-core": "^27.0.13",
"@types/ckeditor__ckeditor5-basic-styles": "^27.0.1",
"@types/ckeditor__ckeditor5-editor-classic": "^27.0.0",
"@types/ckeditor__ckeditor5-essentials": "^27.0.4",
"@types/ckeditor__ckeditor5-paragraph": "^27.0.0"
【讨论】:
【参考方案4】:Typescript 找不到声明文件,并抱怨“any”的隐式/推断类型。
您可以按照@khaled 的说明禁用规则(“核”选项 - 该规则被全局禁用)。
更好的解决方法是在 typings.d.ts 文件中将 ClassicEditorBuild 的类型明确定义为“any”,如下所述:https://github.com/ckeditor/ckeditor5-angular/issues/70#issuecomment-513827165
在使用 Angular 11.0.5 和 Typescript 4.0.2 升级到 CKEditor5 时,这对我有用
【讨论】:
以上是关于错误:找不到模块'@ckeditor/ckeditor5-build-classic'角度9的声明文件的主要内容,如果未能解决你的问题,请参考以下文章