起因
Nuxt.js是一个服务端渲染框架。在一开始项目中使用的是quill.js编辑器,因其支持服务端渲染,但后期其功能过于少,故选择了非常强大的tinymce编辑器。
本文首发于: http://zhanghaoran.ren
正文
- 安装tinymce
npm i @tinymce/tinymce-vue tinymce -s
-
在~/static/目录下创建tinymce文件夹,下载完tinymce后在node_modules 中找到 tinymce/skins目录,将其复制到static/tinymce目录。
-
下载中文语言包。
下载解压后,把langs文件夹放到~/static/tinymce/下。

-
在~/components/下创建 tinymceEditor.vue文件。
template
<template>
<client-only>
<editor id="tinymce" v-model="contents" :init="init"></editor>
</client-only>
</template>
script
import editor from '@tinymce/tinymce-vue';
import toolbar from "./toobar"; // toolbar
import plugins from "./plugins"; // plugins
import {imageHost} from "../../../plugins/host";
let tinymce;
// 在客户端环境下引入
if (process.client) {
tinymce = require('tinymce/tinymce');
require('tinymce/themes/silver');
require('tinymce/icons/default');
require('tinymce/plugins/image');// 插入上传图片插件
require('tinymce/plugins/media');// 插入视频插件
require('tinymce/plugins/table');// 插入表格插件
require('tinymce/plugins/lists');// 列表插件
require('tinymce/plugins/link');//超链接插件
require('tinymce/plugins/wordcount');// 字数统计插件
// require('tinymce/plugins/emoticons');// 插入表情插件
require('tinymce/plugins/fullscreen');
require('tinymce/plugins/code');
require('tinymce/plugins/paste');
require('tinymce/plugins/advlist');
require('tinymce/plugins/autolink');
require('tinymce/plugins/autosave');
require('tinymce/plugins/codesample');
require('tinymce/plugins/colorpicker');
require('tinymce/plugins/contextmenu');
require(

本文介绍如何在Nuxt.js项目中集成Tinymce富文本编辑器,实现服务端渲染与客户端编辑的完美结合,同时详细配置了编辑器的各项功能,包括中文语言包、图片上传处理及多种插件的使用。
最低0.47元/天 解锁文章
4020

被折叠的 条评论
为什么被折叠?



