如何在 angular5 组件中设置 TinyMCE-Angular init 配置而不是 HTML?

Tre*_*lez 1 tinymce angular angular5

我已经安装了 tinymce angular包,我可以正常工作:

https://www.npmjs.com/package/@tinymce/tinymce-angular

但我希望更改组件内的初始化值,以便我可以从每个环境的配置加载皮肤链接等,而不是在 html 中对此进行硬编码。

我试过了:

import tinymce from 'tinymce/tinymce';
Run Code Online (Sandbox Code Playgroud)

并使用:

tinymce.init({
    skins: '/assets/skins'
});
Run Code Online (Sandbox Code Playgroud)

然而,这抱怨做一个 npm install @types/tinymce (我已经完成了,但它似乎没有识别这个包)

谁能建议我做错了什么?文档不是很好,经过无休止的搜索后,我似乎无法在线找到任何帮助。

注意:我正在将 /node_modules/tinymce/skins 中的皮肤复制到 /assets/skins 中,所以我只是想要一种能够指向该位置以便编辑器加载它们的方法

Tre*_*lez 5

在做了一些进一步的调查之后,我自己找到了这个问题的答案,所以为了清楚起见,以防其他人遇到类似的问题,以下是我解决它的方法:

我首先按照此处给出的说明进行操作:https : //github.com/tinymce/tinymce-angular

(导入模块,并将编辑器添加到 component.html 文件中)

然后在 component.ts 中,我设置了 baseUrl 并更改了 init:

import 'tinymce';
declare var tinymce: any;

public ngOnInit (): void {
    this.setupTinyMce();
}

private setupTinyMce (): void {
    tinymce.baseURL = 'assets';
    tinymce.init({
        skin_url: '/skins' // Or loaded from your environments config
    });
}
Run Code Online (Sandbox Code Playgroud)

您还需要将 3 个文件夹“plugins”、“skins”、“themes”从“node_modules/tinymce”复制到“assets”文件夹(或使用 webpack 或等效工具为您执行此操作)