ホームページ  >  記事  >  ウェブフロントエンド  >  nodejs+mongodb+vueのフロントエンドとバックエンドでueditorを設定するコードについて

nodejs+mongodb+vueのフロントエンドとバックエンドでueditorを設定するコードについて

不言
不言オリジナル
2018-06-30 11:08:401324ブラウズ

この記事では主に、nodejs+mongodb+vue のフロントエンドとバックエンドで ueditor を設定するためのサンプルコードを紹介します。内容は非常に優れているので、参考として共有します。

個人のブログプロジェクトに取り組んでいたとき、背景を操作するためにリッチテキストボックス入力コンポーネントが必要でしたが、nodejsに関する公式の設定がなかったので、自分で情報を確認して調べて、最終的に適用しましたシステム。

1. バックエンドの設定

まず、このプロジェクトを見つけました: https://github.com/netpi/ueditor のオープンソースコードを使用して、ノードに ueditor を適用できます。

1. まず依存関係をインストールします:

npm install ueditor --save

2. ノード設定を構成します

//引入接口文件
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......')

ここでは、ueditor が必要であるため、プラグインがインストールされていることに注意してください。したがって、追加のファイルをコピーする必要はありません。バックエンドに返されるデータを保存するために、このディレクトリの下に新しいパブリック フォルダーを作成するだけで済みます。また、構成ファイル config.json を導入する必要もあります

。 2. フロントエンド構成

Vue のフロントエンド構成には、ueditor ファイルをダウンロードする必要があります。それをディレクトリに配置します。私は静的フォルダーに配置し、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: &#39;UE&#39;,
  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); // 初始化UE
   this.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"
  };
 },

フロントとバックエンドのリクエストプロキシ

を vue 開発環境で、ueditor の基本機能を正常に設定できます。バックエンドリクエストプロキシを転送するように webpack の proxyTable を設定でき、同様に、vue ビルド後のファイルは Node を使用して静的ファイルをバックエンドと同じポートにプロキシする必要があります。バックエンドポートをリクエストする前に。スペースが限られているため、記事が十分に明確ではない可能性があります。詳細については、私のプロジェクトのコードを参照してください。 https://github.com/cheer4chai/myBlog

上記がこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

node.js は、ストリームを使用して読み取りと書き込みの同期、および読み取りと書き込みを同時に行う機能を実現します

ajax が jquery でクロスドメイン処理を処理する方法について


angular2とnodejsで画像アップロードを実装



の機能

以上がnodejs+mongodb+vueのフロントエンドとバックエンドでueditorを設定するコードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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