如何解决错误:使用Froala Wysiwyg,类型FroalaEditorModule没有'ngModuleDef'属性

问题描述

我正在按照Angular Froala WYSIWYG Editor上的说明进行操作,并且使用的是8.3.26版本。

app.nodule ...

import { FroalaViewModule,FroalaEditorModule } from 'angular-froala-wysiwyg'

imports: [  
    ...
    FroalaViewModule.forRoot(),FroalaEditorModule.forRoot()
],

运行应用程序时出现错误

Error: Type FroalaEditorModule does not have 'ngModuleDef' property.

我该如何解决

解决方法

编辑者的BUG #441中有一个开放的Github repository,但这确实是一个问题。关于此问题的评论之一是指Open Pull request中的修复程序,并建议使用pull请求中的构建,而不是使用标准npm软件包。

因此,您有2个选择。 升级到Angular 9 使用来自拉取请求的构建,我都证明可以正常工作!

要使用从请求中获取的构建,请执行以下步骤:

  1. 卸载编辑器npm uninstall angular-froala-wysiwyg --save
  2. 从PR npm i leo6104/angular-froala-wysiwyg#feat/ng-packagr-builds --save安装软件包构建
  3. 添加依赖项:
npm i froala-editor@3.0.5 --save 
npm i jasmine-core@>=3.5 --save
  1. 运行您的应用ng serve

enter image description here

,

Ivy编译似乎是一个问题,如果将其关闭,一切都将正常工作。

tsconfig.app.json

{
"angularCompilerOptions": {
    "enableIvy": false
  }
}

我建议您仔细阅读以下文档,以获取有关错误和Ivy实现的更多信息:

Angular Ivy

does not have 'ngModuleDef' property

我也是这个错误的新手,希望您能找到一些帮助,并希望此链接对您有所帮助。

,

在这种情况下,我们希望OP重现该问题。没关系,因此我在Stackblitz上列出了angular froala wysiwyg的3种最小复制。请注意它们的模式依赖版本,它们可能会解决您的问题:

  • Stackblitz用于Angular ^8.0.0带有 tsconfig.json 文件, 多个
  • Stackblitz for Angular ^8.0.0 tsconfig.json 文件,单个
  • Stackblitz for Angular ^10.0.0 tsconfig.json 文件,单个

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...