CkEditor无法设置未定义的属性'dir'

时间:2017-01-18 11:11:59

标签: javascript node.js npm ckeditor

我想使用CKEditor。

我目前使用npm

安装CKEditor

所以它安装在node_modules文件夹

我的文件夹结构就像

  

app - > index.js

     

node_modules - > ckeditor - > ...

我在index.js

中要求它

还在初始化库

之前设置变量
 var CKEDITOR_BASEPATH = '../node_modules/ckeditor'

仍然出现dir错误

建议一些帮助

3 个答案:

答案 0 :(得分:5)

尝试更改

var CKEDITOR_BASEPATH = '../node_modules/ckeditor';

window.CKEDITOR_BASEPATH = '../node_modules/ckeditor/';

不要忘记目录

上的尾部斜杠

并尝试将窗口声明放在导入ckeditor

之上

请查看此链接以获取更多信息:http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Specifying_the_Editor_Path

答案 1 :(得分:2)

对于其他有此问题的人(因为它到现在为止仍是最新版本),如果您在解决方案中自托管了CKEditor脚本(例如,对于经典的ASP.NET应用程序),而您没有在CKEditor文件夹中具有该插件的所有本地化文件,这可能会导致此问题发生。我尝试使用NoToBagels解决方案,但对我而言并没有任何改变。

例如,我们的en.js文件夹中只有/CKEditor/lang/文件,而该错误是在同时使用英语和丹麦语作为其浏览器语言的用户时发生的。 CKEditor尝试自动将编辑器的语言设置为丹麦语,并尝试加载/CKEditor/lang/da.js文件(该文件不存在(导致404错误))。将以下内容添加到config.js文件中可以解决我们的问题:

config.language = 'en';

setting config.language确保将编辑器的语言设置为英语,而不是自动检测到。

答案 2 :(得分:0)

NoToBagels解决了我的一个问题。我还在jQuery doc ready中设置了变量,这个变量很晚就注册了CKEDITOR_BASEPATH。加载javascript文件后立即将其移动以解决问题。