错误:找不到模块“@ckeditor/ckeditor5-build-classic”角度9的声明文件

问题描述 投票:0回答:7

我想在 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 。我应该如何修复这个错误?

angular angular9 ckeditor5
7个回答
53
投票

在项目根目录或任何文件夹中添加 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

目录结构


5
投票

我对 Angular 8 有同样的问题 "@ckeditor/ckeditor5-Angular": "^1.2.3", "@ckeditor/ckeditor5-build-classic": "^19.0.2",

编辑:我找到了这个解决方案:编辑你的 TypeScript 配置文件(tsconfig.json)并添加一个新的键值对作为

"noImplicitAny": false

5
投票

我也遇到同样的问题

运行此命令后:

npm i --save-dev @types/ckeditor__ckeditor5-build-classic

错误立即消失。


1
投票

如果有人仍然感兴趣,可以获取 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"
    

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 时,这对我有用


0
投票

根据https://ckeditor.com/docs/ckeditor5/latest/installation/integrations/angular.html#using-a-custom-ckeditor-5-build 将以下内容添加到

tsconfig.json

"compilerOptions": {
    "allowJs": true,
    "target": "es2015"
    // other options
}

-3
投票

Step1) 首先找出错误并仔细阅读错误

第 2 步)他们会提供新的来安装 ckediti 或尝试一下,例如:像这些 npm

install --save @ckeditor/ckeditor5-build-classic

Step3)即使它不起作用

Step4)在下面输入ClassicEditor导入语句,它们提供了导入位置的选项 然后你选择应该导入你的ClassicEditor @ckeditor/ckeditor5-build-classic

© www.soinside.com 2019 - 2024. All rights reserved.