目次
1. プラグインの選択:
vue3にはオプションのリッチテキストプラグインが多数ありますが、今回の業務要件は単純な文字の太字や改行などで、画像ファイルなどの機能は必要ないので、とりあえず必要なのはシンプルリッチですテキストエディタ。
いろいろ調べた結果、オープンソースで無料で商用利用が可能なCKEditor5を最終的に選びました。以前tinymceを試しましたが、同社は apikey を申請する予定がないため、アラート プロンプト ボックスの問題は解決できません...詳細については記事の最後を参照してください。
リッチ テキスト エディターの概要は次のとおりです。
vue3 で利用できる 7 つのリッチ テキスト エディター
2.導入プロセス:
公式 Web サイトのアドレス: Vue.js 3+ コンポーネント - CKEditor 5 ドキュメント
1. ダウンロード
npm install --save @ckeditor/ckeditor5-vue @ckeditor/ckeditor5-build-classic
ダウンロード後、ダウンロードしたバージョン番号が一致しているかどうかを確認します。
パッケージ.json
"@ckeditor/ckeditor5-build-classic": "^37.0.1",
"@ckeditor/ckeditor5-vue": "^4.0.1",
2. グローバル導入
main.js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import router from './router'
//其他引入
import CKEditor from '@ckeditor/ckeditor5-vue';
app.use(router).use(CKEditor).mount('#app')
公式サイトには他のインポート方法もありますので、ここでは私がよく知っている紹介を選択しましたが、公式サイトに記載されている最も直接的な方法を参照してください。
いつか試してみます。
3. ページの使用方法
次のステップでは、ページを使用するため、編集ポップアップ ウィンドウにリッチ テキスト エディターを表示する必要があります。
公式サイトに掲載されている例は以下の通り。
<template>
<div id="app">
<ckeditor :editor="editor" v-model="editorData" :config="editorConfig"></ckeditor>
</div>
</template>
<script>
import ClassicEditor from '@ckeditor/ckeditor5-build-classic';
export default {
name: 'app',
data() {
return {
editor: ClassicEditor,
editorData: '<p>Content of the editor.</p>',
editorConfig: {
// The configuration of the editor.
}
};
}
}
</script>
公式サイトの例ではvue3の糖衣構文を使用しているので少し異なりますが、概ね公式サイトの例と同じです。
私のコードは次のとおりです:
<template>
<div id="app">
<ckeditor v-model="app_message" :editor="editor" :config="editorConfig"></ckeditor>
</div>
</tempalte>
<script setup>
import { ref, reactive, computed, onMounted } from 'vue'
import ClassicEditor from '@ckeditor/ckeditor5-build-classic'
const editor = ClassicEditor
const editorConfig = reactive({})
let app_message = ref('<p>eeee</p>3333333<br/>sssssss')
</script>
3. 問題解決:
通常、ライブラリをインポートするとエラーなどが報告されますが、今回はエラーが発生しませんでした。非常に幸運でした。
以下にtsライティングで紹介した記事がありますので、いざという時のために記録しておいてください。
Vue3 は CKEditor5 (typescript バージョン) を使用します
ただし、写真、ビデオ、アップロード、フォームなどについては、当面必要ない機能であることが条件のため、まだ使用できませんので、先に非表示にする必要があります。
公式 Web サイトの設定ページ: Interface EditorConfig (core/editor/editorconfig~EditorConfig) - CKEditor 5 API docs
エディター ツールバー - CKEditor 5 ドキュメント
以下に構成を示します。
4.TinyMceについて:
アドレスは次のとおりです: TinyMCE Vue.js 統合テクニカル リファレンス | TinyMCE ドキュメント
導入後の効果は以下の通りです。
非常に強力ですが、必要のないものもたくさんあります。
また、apikey 用のアプリケーションがないため、導入後には常にプロンプト ボックスが表示されます。解決策を確認しましたが解決できませんでした。
この問題に対する 2 つの解決策を次に示します。
Element-UI で tinymce6 を呼び出してローカライズされた読み込みを実現し、プロンプトを解決します: このドメインは TinyMCE Cloud に登録されていません。API キーを保存しますhttp://t.csdn.cn/7twK6この問題を解決するには、別のツールを使用します: