Angular5项目中ng2-ckeditor报cloudservices-no-token-url错误求助
解决Angular 5中ng2-ckeditor的cloudservices-no-token-url报错问题
嘿,我之前在Angular项目里用CKEditor离线包的时候也碰到过这个一模一样的报错,其实本质就是CKEditor默认启用了云端服务相关功能,但咱们用离线包根本不需要这玩意儿,所以才会一直弹错。给你几个亲测可行的解决办法,按顺序试试:
方案一:直接禁用Cloud Services插件(最推荐)
既然用的是离线包,完全不需要云端服务的话,直接把相关插件从配置里删掉就完事了。
在你的Angular组件或者全局配置文件里,修改CKEditor的配置:
// 组件内的配置示例 public ckeditorConfig = { removePlugins: 'cloudservices,autosave', // 把云端服务和自动保存插件都移除 // 这里放你原来的其他配置项... };
然后在模板里把这个配置绑定到ckeditor组件上:
<ckeditor [(ngModel)]="yourContent" [config]="ckeditorConfig"></ckeditor>
这个方法最直接,关掉触发报错的根源,基本一设置好就不会再弹错了。
方案二:配置空的token URL(不想删插件的话用这个)
如果因为某些原因你不想移除插件,那可以给cloudservices配置一个空的token URL,让CKEditor不再报错:
public ckeditorConfig = { cloudServices: { tokenUrl: '' // 设为空字符串就行 }, // 你的其他配置... };
不过这个方法有时候不如直接删插件彻底,还是优先推荐方案一。
方案三:检查离线包的build-config配置
你说已经在build-config里加了插件,但可能搞反了?如果是自定义构建的离线包,应该是排除cloudservices插件,而不是添加。打开你离线包里的build-config.js,确认removePlugins数组里包含cloudservices:
module.exports = { // 其他配置内容... removePlugins: 'cloudservices,autosave', // 其他配置内容... };
改完之后重新构建离线包,替换项目里的CKEditor资源文件,再重启项目试试。
最后提个小注意点
- 确保你的ng2-ckeditor版本和CKEditor离线包版本兼容,Angular 5对应的ng2-ckeditor大概是1.x版本,别用太新的,容易出兼容问题。
- 记得清一下浏览器缓存,有时候旧配置会被缓存,导致新配置不生效。
内容的提问来源于stack exchange,提问作者Jeeten Parmar
相关产品推荐
相关产品推荐

