VuePress + Node

Vuepress

config.js:配置接口对应跨域信息,支持跨域

devServer: {
        proxy: {
            '/api': {
                target: 'http://localhost:8085/api',
                changeOrigin: true,
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },

接口请求:对数据进行特殊处理传给node进行处理

let param = new URLSearchParams();
param.append('directory', this.form.directory)
param.append('title', this.form.title)
param.append('content', this.form.content)
this.$axios({
    method: 'post',
    url: '/api/editor',
    data: param
}).then((res) => {
    this.directory = JSON.parse(res.data) // 返回数据为res.data
})

Node

安装包准备:

cnpm install express --save // node框架
cnpm install body-parser --save //  处理 JSON, Raw, Text 和 URL 编码的数据
cnpm install cookie-parser --save // req.cookies获取请求的cookie并转成对象
cnpm install multer --save // 处理上传的文件数据

服务器准备:

创建server文件夹作为服务器,文件夹内配置逻辑

main.js:服务器启动文件

var express = require('express')
var app = express()
var api = require('./api')
// 路由接口监听
app.use('/api', api)
// 监听本机8085端口
var server = app.listen(8085, function() {
    var host = server.address().address
    var port = server.address().port
    console.log('Server has running at http://%s:%s', host, port)
})

api.js:服务器接口文件

var express = require('express');
var router = express.Router();
// 数据表单解析
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
// 文件处理
var multer = require('multer');
var fs = require("fs");


// 路由匹配接口调用,get请求返回数据
router.get('/directory', function(req, res) {
    fs.readFile('./directory.json', 'utf8', (err, data) => {
        if (err) {
            console.error(err)
            return
        }
        res.end(JSON.stringify(data));
    })
})

// post请求中有表单类型数据时需传入表单类型解析参数进行处理
router.post('/editor', urlencodedParser, function(req, res) {
    let data = req.body; // req.body存储请求中的data数据
    /*
      执行上传逻辑
    */
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值