検索
ホームページウェブフロントエンドjsチュートリアルtinymce リッチ テキスト エディターを Vue プロジェクトに導入

この記事では、Vue プロジェクトに tinymce リッチ テキスト エディターを導入するサンプル コードを主に紹介します。非常に優れており、必要な友人は参考にしてください。

プロジェクトで元々使用されていたリッチ テキスト エディターは、wangEditor です。 、これは非常に軽量でシンプルなエディターです

しかし、会社のビジネスがアップグレードされ、私は長い間探していたより包括的な機能を備えたエディターが必要です。現在、一般的なエディターには次のものがあります。

UEditor: Baidu フロント。 -エンド オープン ソース プロジェクトは強力で jQuery に基づいていますが、現在はメンテナンスされておらず、バックエンド コードが制限されているため、変更が困難です。

bootstrap-wysiwyg: マイクロ、使いやすく、小さくて美しい。 、Bootstrap + jQuery だけ...

kindEditor : 強力な機能、シンプルなコード、バックエンドの設定が必要、長い間更新されていません

wangEditor : 軽量でシンプルで使いやすいですが、にアップグレードした後3.x では、カスタマイズされた開発には不便です。しかし、作者はとても勤勉です。広い意味では、彼と私は家族です。電話してください。 機能はそれほど多くありませんが、API 自体の拡張も簡単です。英語が理解できる方は…

サマーノート: なし さらに調べてみると、UIがとても美しく、小さくて美しいエディターだということがわかりましたが、大きなエディターが必要です

そんな参考にして、ようやくtinymce を選んだのは、ラダーなしでは公式 Web サイトを開くことすらできないエディターです。主な理由は次の 2 点です:

1. GitHub にたくさんのスターがあり、機能が充実しています。 2. Word から貼り付けるときにほとんどの書式設定を維持できる唯一のエディター

3. インターフェイスを変更するためにコードをスキャンするバックエンド担当者を見つける必要がなく、フロントエンドとバックエンドは分離しました

4. 良い点が 2 つあります。

1. リソースのダウンロード

tinymceはvueプロジェクト用にコンポーネントtinymce-vueを公式に提供しています

npm install @tinymce/tinymce-vue -S

このコードをvscodeやwebstormのターミナルで実行するとエラーが発生する場合があります。オペレーティング システムの組み込みコマンド ライン ツールを使用するのが最適です

tinymce サービスを購入した場合は、tinymce-vue の手順を参照し、API キーを介して直接 tinymce を使用できます

次のように購入していない場合私、まだ tinymce を正直にダウンロードする必要があります

npm install tinymce -S

インストール後、node_modules で tinymce/skins ディレクトリを見つけて、skins ディレクトリを静的ディレクトリにコピーします

// を使用してビルドされた typescript プロジェクトの場合vue-cli 3.x、記事内のパブリック ディレクトリに置きます。すべての静的ディレクトリはこの方法で処理されます

tinymce はデフォルトで英語のインターフェイスに設定されているため、中国語の言語パックもダウンロードする必要があります (ラダーを構築することを忘れないでください) ! はしごを構築! はしごを構築!)

次に、構造のために、この言語パックを静的ディレクトリに置きます

2. 初期化

以下のファイルをページに導入しました

import tinymce from 'tinymce/tinymce'
import 'tinymce/themes/modern/theme'
import Editor from '@tinymce/tinymce-vue'

tinymce-vueはコンポーネントに登録して直接使用する必要があるコンポーネントです

ここでのinitはtinymce初期化設定項目です。 API については後で説明しますので、公式ドキュメントを参照してください

エディターが適切に動作するにはスキンが必要なので、スキン ファイルを作成する前に、skin_url を設定してコピーをポイントする必要があります

init: {
 language_url: '/static/tinymce/zh_CN.js',
 language: 'zh_CN',
 skin_url: '/static/tinymce/skins/lightgray',
 height: 300
}

// vue-cli 3.x で作成された Typescript プロジェクト、URL の静的部分を削除します。つまり、skin_url: '/tinymce/skins/lightgray'

マウント時にも必要です。一度初期化します:

ここに上記のinitオブジェクトを渡しても効果はありませんが、パラメータが何も渡されない場合はエラーが報告されるので、ここに空のオブジェクトを渡します

3. 拡張プラグイン

上記の初期化が完了すると、エディターは通常どおりに実行できますが、いくつかの基本的な機能のみを使用できますtinymceはプラグインを追加することで機能を追加します

たとえば、画像をアップロードする機能を追加したい場合は、画像プラグインを使用する必要があります-ins、ハイパーリンクを追加するには、リンク プラグインを使用する必要があります

同時に、これらのプラグインをページに導入する必要もあります:

プラグインを追加した後、対応する機能ボタンはデフォルトでツールバーに追加されます。ツールバーはカスタマイズすることもできます

完全なコンポーネントコードを投稿してください:



<script>
import tinymce from &amp;#39;tinymce/tinymce&amp;#39;
import &amp;#39;tinymce/themes/modern/theme&amp;#39;
import Editor from &amp;#39;@tinymce/tinymce-vue&amp;#39;
import &#39;tinymce/plugins/image&#39;
import &#39;tinymce/plugins/link&#39;
import &#39;tinymce/plugins/code&#39;
import &#39;tinymce/plugins/table&#39;
import &#39;tinymce/plugins/lists&#39;
import &#39;tinymce/plugins/contextmenu&#39;
import &#39;tinymce/plugins/wordcount&#39;
import &#39;tinymce/plugins/colorpicker&#39;
import &#39;tinymce/plugins/textcolor&#39;
export default {
 name: &#39;tinymce&#39;,
 data () {
  return {
   tinymceHtml: &#39;请输入内容&#39;,
   init: {
    language_url: &#39;/static/tinymce/zh_CN.js&#39;,
    language: &#39;zh_CN&#39;,
    skin_url: &#39;/static/tinymce/skins/lightgray&#39;,
    height: 300,
    plugins: &#39;link lists image code table colorpicker textcolor wordcount contextmenu&#39;,
    toolbar:
     &#39;bold italic underline strikethrough | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | removeformat&#39;,
    branding: false
   }
  }
 },
 mounted () {
  tinymce.init({})
 },
 components: {Editor}
}
</script>

4. 画像をアップロードします

tinymce は、ユーザーが画像をアップロードするための関連パラメータを設定できるようにするための、images_upload_url などの API を提供します

アップロード メソッドを定義する

のimages_upload_handler このメソッドは 3 つのパラメータを提供します: blobInfo、success、failure

ここで、blobinfo はアップロードされたファイルに関する情報を含むオブジェクトです:

success と Failure は関数、アップロードは成功しました失敗した場合は画像アドレスを成功に渡し、失敗した場合はエラーメッセージを失敗に渡します

以上がtinymce リッチ テキスト エディターを Vue プロジェクトに導入の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python vs. JavaScript:ジョブに適したツールを選択するPython vs. JavaScript:ジョブに適したツールを選択するMay 08, 2025 am 12:10 AM

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境