This guide shows how to integrate {productname} from a .zip package in an Angular application using the {productname} Angular component.
This procedure requires Node.js (and NPM).
-
From a terminal or command prompt, install the Angular CLI Tool globally.
npm install -g @angular/cli
-
Create a new Angular project named
tinymce-angular-demo.ng new --defaults --skip-git tinymce-angular-demo
-
Navigate to the new project directory and
@tinymce/tinymce-angular.cd tinymce-angular-demo && npm install @tinymce/tinymce-angular
-
Unzip the content of the
tinymce/jsfolder from the {productname} zip into thesrcfolder. -
Create
src/app/editor.component.tswith the following:import { Component } from '@angular/core'; import { EditorComponent } from '@tinymce/tinymce-angular'; // Ensure you import TinyMCE to register the global variable required by other components import '../tinymce/tinymce'; // DOM model import '../tinymce/models/dom/model'; // Theme import '../tinymce/themes/silver'; // Toolbar icons import '../tinymce/icons/default'; // Editor styles import '../tinymce/skins/ui/oxide/skin.js'; // Content styles, including inline UI like fake cursors import '../tinymce/skins/content/default/content.js'; import '../tinymce/skins/ui/oxide/content.js'; // Import plugins import '../tinymce/plugins/advlist'; import '../tinymce/plugins/autolink'; import '../tinymce/plugins/link'; import '../tinymce/plugins/image'; import '../tinymce/plugins/lists'; import '../tinymce/plugins/table'; import '../tinymce/plugins/code'; import '../tinymce/plugins/help'; // Include resources that a plugin lazy-loads at the run-time import '../tinymce/plugins/help/js/i18n/keynav/en.js'; import '../tinymce/plugins/wordcount'; @Component({ selector: 'app-editor', standalone: true, imports: [EditorComponent], template: ` <editor [init]="init" licenseKey="gpl" /> ` }) export class MyEditorComponent { init: EditorComponent['init'] = { height: 500, plugins: 'advlist autolink lists link image table code help wordcount', toolbar: 'undo redo | blocks | bold italic | alignleft aligncenter alignright | bullist numlist | help' }; }
-
Update
app.component.tsto importMyEditorComponent.import { Component } from '@angular/core'; import { MyEditorComponent } from './editor.component'; @Component({ selector: 'app-root', standalone: true, imports: [MyEditorComponent], template: ` <h1>TinyMCE Angular Demo</h1> <app-editor /> ` }) export class AppComponent {}
-
Run the Angular development server
ng serve