笔者在做一个个人博客项目的时候需要一个富文本框输入组件与后台进行交互,但是官方配置里面没有关于nodejs的,于是自己查阅资料研究了一下,最后终于应用到了系统中。

一、后台配置

首先是找到了这个项目:https://github.com/netpi/ueditor,可以通过他开源的代码将ueditor应用的node上面,大概方法如下:

1.先安装依赖:

npm install ueditor --save

2. 配置Node设置

//引入接口文件
const api = require('./api');
//引入文件模块
const fs = require('fs');
//引入处理路径模块
const path = require('path');
//引入处理post数据模块
var bodyParser = require('body-parser');//引入express
const express = require('express');
const app = express();
//引入ueditor
const ueditor = require("ueditor")// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))//更改限定大小
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));
// parse application/json
app.use(bodyParser.json())
app.use(api)app.use("/ueditor/ue", ueditor(path.join(__dirname, 'public'), function(req, res, next) {//客户端上传文件设置var imgDir = '/img/ueditor/'var ActionType = req.query.action;if (ActionType === 'uploadimage' || ActionType === 'uploadfile' || ActionType === 'uploadvideo') {var file_url = imgDir; //默认图片上传地址/*其他上传格式的地址*/if (ActionType === 'uploadfile') {file_url = '/file/ueditor/'; //附件}if (ActionType === 'uploadvideo') {file_url = '/video/ueditor/'; //视频}res.ue_up(file_url); //你只要输入要保存的地址 。保存操作交给ueditor来做res.setHeader('Content-Type', 'text/html');}//  客户端发起图片列表请求else if (req.query.action === 'listimage') {var dir_url = imgDir;res.ue_list(dir_url); // 客户端会列出 dir_url 目录下的所有图片}// 客户端发起其它请求else {// console.log('config.json')res.setHeader('Content-Type', 'application/json');res.redirect('../nodejs/config.json');}
}));//处理静态文件 todo
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, 'public/')))
app.use('/ueditor', function(req, res) {res.render('views/');
});//监听8888端口
app.listen(8888);
console.log('sucess listen......')

  这里需要注意的是因为已经require了ueditor,所以该插件已经安装到了node_module内,所以不需要再拷贝额外的文件了,只需要需要在这个目录下面新建public文件夹存放返回给后台的数据,另外,还需要引入配置文件config.json

 

二、前台配置

vue的前台配置需要下载ueditor的文件放在目录中,我将其放在了static文件夹中,在vue入口文件中引入ueditor的文件:

import '../static/UE/ueditor.config.js'
import '../static/UE/ueditor.all.min.js'
import '../static/UE/lang/zh-cn/zh-cn.js'
import '../static/UE/ueditor.parse.min.js'

值得一提的是需要将ueditor.config.js文件中的目录配置为放置该插件的目录:

window.UEDITOR_HOME_URL = "/static/UE/"

然后在组件中配置好就可以了

我的UE.vue组件:

<template><script :id=id type="text/plain"></script>
</template><script>export default {name: 'UE',data () {return {editor: null}},props: {defaultMsg: {type: String},config: {type: Object},id: {type: String},},mounted() {const _this = this;this.editor = UE.getEditor(this.id, this.config); // 初始化UEthis.editor.addListener("ready", function () {_this.editor.setContent(_this.defaultMsg); // 确保UE加载完成后,放入内容。
      });},methods: {getUEContent() { // 获取内容方法return this.editor.getContent()}},destroyed() {this.editor.destroy();}}
</script>

引入方式:

<UE :defaultMsg=defaultMsg :config=config :id=ue1 ref="ue"></UE>

data() {return {defaultMsg: "",image: "",config: {initialFrameWidth: null,initialFrameHeight: 350},ue1: "ue1"};},

就可以成功配置好ueditor的基本功能了

三、前后台请求代理

在vue dev环境下可以设置webpack的proxyTable将后端请求代理转发,就可以轻松调试文件上传功能了,同理,vue build之后的文件则需要用Node将静态文件代理到和后端同一个端口上才可以请求后台端口

篇幅有限,文章可能讲述的不太清晰,具体的可以看我这个项目的代码:https://github.com/cheer4chai/myBlog



转载于:https://www.cnblogs.com/cheerup/p/8150055.html

nodejs+mongodb+vue前后台配置ueditor相关推荐

  1. 纯JS加vue脚手架书写的对阵表(promise异步控制+nodejs+mongodb数据库)

    在这里博主写了一个可容纳8-16人的对阵表,其道理都是一样的,只是创建表格和数组分组和随机的逻辑多少的问题 实现效果: 重要的是表格,后边的框线都是定义好的 因为比赛的对阵表所用的模版都是固定的,有8 ...

  2. express+mongodb+vue实现增删改查-全栈之路2.0

    Github项目地址 效果图 登陆页 查询 新增 修改 删除 详情页 技术栈 vue axios vue-router express mongo element iconfont scss 前言 半 ...

  3. express+mongodb+vue实现增删改查-全栈之路

    vue element mongodb express 效果图 前言 最近一直想学下node,毕竟会node的前端更有市场.但是光看不练,感觉还是少了点什么,就去github上看别人写的项目,收获颇丰 ...

  4. vue中使用Ueditor编辑器 -- 1

    一.   下载包: 从Ueditor的官网下载1.4.3.3jsp版本的Ueditor编辑器,官网地址为:http://ueditor.baidu.com/website/download.html ...

  5. Vue安装配置以及入门案例

    Vue Vue简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不 ...

  6. vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版

    vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版 vuejs技术交流QQ群:458915921 有兴趣的可以加入 vuejs 目录结构 build build.js check ...

  7. NodeJs 的安装及配置环境变量

    NodeJs 的安装及配置环境变量 一.Node.js 下载与安装 二.Node.js环境变量配置 三.国内镜像网站配置 一.Node.js 下载与安装 下载 在 Node官网 上,下载对应的安装包 ...

  8. nodeJs + webpack+vue+ element ui 环境安装

    一.安装nodeJs 1.打开NodeJs官网:https://nodejs.org/en/download/  点击下载 2.双击安装,安装过程基本直接"NEXT"就可以了.(w ...

  9. 大前端相关-nodejs到vue

    大前端相关-nodejs到vue 一.前言 二.vscode安装 1.安装 2.vscode简单操作 三.Node.js 1.安装 2.测试安装成功 3.简单使用 4.前端连接数据库 四.ES6语法 ...

最新文章

  1. Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
  2. 白领必看的十种职场致命毒药
  3. vscode中安装webpack_VSCode下手动构建webpack项目(示例代码)
  4. (王道408考研操作系统)第四章文件管理-第一节2:文件的逻辑结构
  5. 2017.4.19 细胞分裂 思考记录
  6. html+css京东登录页面
  7. Java后台+微信小程序实现推送 “服务通知”
  8. 超声波测距模块工作原理
  9. C++的简单FTP客户端实现(二)编程
  10. 详解Android中玩转高德地图
  11. 加盐密码哈希:如何正确使用 (转)
  12. 计算机毕业设计之java+ssm生鲜超市进销存管理系统
  13. Is it going on-------------Docker容器的安装以及基本的操作指令
  14. 供应链金融区块链应用
  15. 一文读懂cpu cache
  16. python利用百度/高德地图获取地理位置并转换
  17. 全国计算机等级考试自行打印准考证打印黑白的还是彩色的~
  18. 机构层级列表递归展示查询,并优化SQL查询
  19. 宝塔安装swoole 及几十万微信模板消息异步发送
  20. 利用vue-electron构建多窗口页面应用

热门文章

  1. 2015,工作几年的心得
  2. 机器学习实战10-Artificial Neural Networks人工神经网络简介(mnist数据集)
  3. 4022-基于链表的简单选择排序(C++,附思路)
  4. java推荐系统算法,阿里“推荐系统”背后的算法介绍
  5. ant java xml文件,ant 学习(2)-ant开发java程序,buile.xml文件分离
  6. 手机吃鸡登显示服务器繁忙,国际版吃鸡登录一直显示服务器繁忙 | 手游网游页游攻略大全...
  7. solution for python can not import local module
  8. 通过命令在navicat中创建数据库及表结构
  9. iis10 HTTP 错误 500.19 - Internal Server Error
  10. MFCButton Memory leak(内存泄露问题)