ビルドプロセス(gruntを使用)では、すべてのスクリプトを連結、縮小、および醜くして1つのスクリプトにします(これは単一のリクエストのみを意味します)。
現在、CKEditor4はモジュールスタイルの読み込みアプローチを使用しているようです。
CKEditor 4を必要なすべてのソースを含むプロジェクトに含めて、後で動的ロードが行われないようにする方法を教えてもらえますか?
ビルドプロセス(gruntを使用)では、すべてのスクリプトを連結、縮小、および醜くして1つのスクリプトにします(これは単一のリクエストのみを意味します)。
現在、CKEditor4はモジュールスタイルの読み込みアプローチを使用しているようです。
CKEditor 4を必要なすべてのソースを含むプロジェクトに含めて、後で動的ロードが行われないようにする方法を教えてもらえますか?
CKEditorは2つのモードで動作します:
開発(ソース)モードの場合:
ckeditor.js
ファイルを含めると、config.js
を偽の値に設定することでオフに切り替えることができます)、false
(4.1RC以降)またはスタイルの配列(直接設定)に設定しない限り、スタイルセットファイルをロードします。オンラインビルダー、または開発リポジトリで直接利用可能なプリセットビルダーまたは開発ビルダーを使用して作成できるリリース(ビルド)モードでは、次のように最適化されます。
ckeditor.js
ファイルを含めると、config.js
とstyles.js
ファイルは別々にダウンロードされますが、開発モードと同様に、これら2つのHTTPリクエストを保存できます。注:すべてのJSおよびCSSファイルはリリースモードで縮小されます。
あなたはいくつかのことを最適化することを試みることができます。
ckeditor.js
ます。そのため、すべてのJSファイルをAFAIKで連結できます。それだけだと思います。デフォルトでは、CKEditorビルドは非常にうまく最適化されていると思います。あなたはいくつかのことを改善することができますが、あなたは多くの時間を節約することはなく、自動言語認識のようないくつかの機能を失うでしょう。
Reinmarの回答から提案2と3を実装しました-これが私がそれを行った方法です:
- 「エディターUIスタイルシートファイルは、おそらくページのスタイルシートと連結できますが、エディターがそれ自体をロードしないようにする方法を見つける必要があります。」
var swap = CKEDITOR.skin.loadPart;
CKEDITOR.skin.loadPart = function(res, callback) {
if (res == 'editor') {
console.log('Ignoring editor.css load');
callback && callback();
return;
}
swap(res, callback);
}
次に、バンドルeditor.css
されたファイルにバンドルしました。
- コンテンツスタイルシート-フレームエディタを使用している場合でも削除できますが、fullPage機能を使用してコンテンツのスタイルを設定する必要があります(非推奨)。
// I copied the content.css from ckeditor-dev and loaded it into contentCss.
var contentCss = 'put your css here';
var config = {
// Other things here
// ...
contentCss: contentCss
};
ckeditor.replace(element, config);
どちらも初期化時に行われます(私のコードではckeditor.replace
、3に示すように、を呼び出す関数にあります)。
これらは最も確実なハックですが、私の現在の使用では、これらのハックによって可能になる最適化は価値があります。
また、提案1を実装する代わりに、設定と構成で他のjs
ファイルが読み込まれないようにします。customConfig: ''
stylesSet: false