我想在 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 。我应该如何修复这个错误?
在项目根目录或任何文件夹中添加 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
目录结构
我对 Angular 8 有同样的问题 "@ckeditor/ckeditor5-Angular": "^1.2.3", "@ckeditor/ckeditor5-build-classic": "^19.0.2",
编辑:我找到了这个解决方案:编辑你的 TypeScript 配置文件(tsconfig.json)并添加一个新的键值对作为
"noImplicitAny": false
如果有人仍然感兴趣,可以获取 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"
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 时,这对我有用
tsconfig.json
"compilerOptions": {
"allowJs": true,
"target": "es2015"
// other options
}
Step1) 首先找出错误并仔细阅读错误
第 2 步)他们会提供新的来安装 ckediti 或尝试一下,例如:像这些 npm
install --save @ckeditor/ckeditor5-build-classic
Step3)即使它不起作用
Step4)在下面输入ClassicEditor导入语句,它们提供了导入位置的选项 然后你选择应该导入你的ClassicEditor @ckeditor/ckeditor5-build-classic