web-dev-qa-db-ja.com

CkEditorは未定義のプロパティ 'dir'を設定できません

CKEditorを使いたいのですが。

現在、npmを使用してCKEditorをインストールしています

したがって、node_modulesフォルダーにインストールされます

私のフォルダ構造は

アプリ-> index.js

node_modules-> ckeditor-> ...

そして私はそれをindex.jsで必要としました

ライブラリの初期化前に変数も設定

 var CKEDITOR_BASEPATH = '../node_modules/ckeditor'

それでもdirエラーが発生する

いくつかの助けを提案する

10
Hopp

変更してみてください

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

5
NoToBagels

この問題を抱えている他の人(現時点で最新バージョンの時点でもまだ残っているため)で、ソリューションでCKEditorスクリプトを自己ホストしていて(たとえば、クラシックASP.NETアプリケーションの場合)、すべてのCKEditorフォルダー内のプラグインのローカリゼーションファイル。この問題が発生する可能性があります。 NoToBagelsソリューションを使用してみましたが、何も変わりませんでした。

たとえば、en.jsフォルダーには/CKEditor/lang/ファイルしかありませんでした。このバグは、ユーザーのブラウザー言語として英語とデンマーク語の両方を使用している場合に発生しました。 CKEditorは、エディターの言語をデンマーク語に自動的に設定しようとし、存在しない/CKEditor/lang/da.jsファイルをロードしようとしました(これにより、404エラーが発生しました)。以下をconfig.jsファイルに追加すると、問題が修正されます。

config.language = 'en';

setting config.language は、エディターの言語が自動検出される代わりに英語に設定されることを保証します。

2
Loyalar

NoToBagelsは私の問題の1つを修正しました。また、jQuery docで変数を設定する準備ができていて、CKEDITOR_BASEPATHの登録が遅すぎました。ロードされたJavaScriptファイルが問題を解決したらすぐに実行されるように移動します。

0
user3426396