Я пытаюсь установить ckeditor в свой проект angular. Я уже пробовал установить ckeditor4-angular
через npm, но не смог найти способ добавить плагины, такие как WIRIS mathType. Пожалуйста, как я могу установить редактор в мой проект angular, а также установить плагины?
Как установить CKEDITOR в проект angular и добавить плагины
Ответы (2)
Вот проблема, связанная с этим https://github.com/ckeditor/ckeditor5-angular/issues/134. Вам необходимо создать собственную сборку CKEditor и включить в нее необходимые плагины. Вот руководство: https://ckeditor.com/docs/ckeditor5/latest/builds/guides/development/custom-builds.html Кстати, я предлагаю вам использовать последнюю версию CKEditor 5.
UPD:
- Клонировать исходное репо:
git clone https://github.com/ckeditor/ckeditor5-build-classic.git
- Установить зависимости
npm install
- Самостоятельно установить необходимый плагин
npm install --save @wiris/mathtype-ckeditor5
- Откройте
src/ckeditor.js
и новый плагин к редактору:
...
import MathType from '@wiris/mathtype-ckeditor5';
...
ClassicEditor.builtinPlugins = [
...
MathType
];
ClassicEditor.defaultConfig = {
toolbar: {
items: [
...
'MathType',
...
]
},
...
};
- Затем соберите редактор (возможно, вам потребуется установить пряжу)
yarn run build
- После этого скопируйте все из папки
build
в свой проект. Например
src/assets/js/ck-editor-math-type/
-> translations
-> ...
-> ckeditor.js
- Добавить код ckeditor в
package.json
"dependencies": {
...
"@ckeditor/ckeditor5-angular": "^1.1.2",
...
}
- Импортируйте CKEditor в свой компонент:
import * as ClassicEditor from '../../assets/js/ck-editor-math-type/ckeditor.js';
...
export class CkeditComponent implements OnInit {
public Editor = ClassicEditor;
public model = {
editorData: '<p>Hello, world!</p>'
};
}
- Добавьте его тоже в свой template.html
<ckeditor [(ngModel)]="model.editorData" [editor]="Editor"></ckeditor>
Надеюсь, это вам поможет.
npm
, отправьте его в свой репозиторий github (gitusername / gitbranch) (на github.com) и используйте его в package.json как ... "gitbranch": "gitusername/gitbranch#commit-id", ...
. Фиксация - это гарантия того, что у вас всегда будет одна и та же версия. Надеюсь это поможет.
- person Nico; 16.04.2020
После шага 7
Добавьте код ckeditor в зависимости package.json: {... @ ckeditor / ckeditor5-angular: ^ 1.1.2, ...}
Шаг 8:
npm install
шаг 9:
В файле app.module.ts вы можете добавить
import { CKEditorModule } from '@ckeditor/ckeditor5-angular';
import { FormsModule } from '@angular/forms';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
FormsModule,
ReactiveFormsModule,
CKEditorModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Шаг 10: В файл tsconfig.json добавьте allowJs: ture
"compilerOptions": {
"allowJs": true,
}
шаг 11:
Импортируйте CKEditor в свой компонент:
import * as ClassicEditor from '../../assets/js/ck-editor-math-type/ckeditor.js';
...
export class CkeditComponent implements OnInit {
public Editor = ClassicEditor;
public model = {
editorData: '<p>Hello, world!</p>'
};
}
шаг 12:
Добавьте его тоже в свой template.html
<ckeditor [(ngModel)]="model.editorData" [editor]="Editor"></ckeditor>
es2015
или выше "target": "es2015"
- person Alberto Rivera; 09.12.2020