『初体验』express创建服务 结构

后端

引入初始化

const Express = require('express')
const app = new Express()
const router = Express.Router()
const fs = require('fs')
const bodyParser = require('body-parser')

// 创建 application/json 解析
app.use(bodyParser.json())
// 创建 application/x-www-form-urlencoded 解析
app.use(bodyParser.urlencoded({
  extended: false
}))
const port = 3000

解决跨域

//解决跨域
app.all('*', function (req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With');
  res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
  if (req.method == 'OPTIONS') {
    res.send(200);
  } else {
    next();
  }
});

post请求

//post请求
router.post('/saveFile', function (req, res) {
	let param = req.body//获取请求参数
	res.send({status:true,message:'success'})
})

get请求

//get请求
router.get('/readFile', function (req, res) {
  let param = req.query//获取请求参数
  res.send({status: true,message: data})
})

读取文件

//读取文件
path = `${process.cwd()}/flowJson/${name}.json`;
fs.readFile(path, 'utf-8', function (err, data) {
      if (err) {
        if (err.code == 'ENOENT') {
          res.send({
            status: false,
            message: "没有该文件"
          })
        }
        return console.error(err)
      }
      res.send({
        status: true,
        message: data
      })
    })

保存文件

//保存文件
let path = '';
let resParam = {};
let content = '文件内容'
path = `${process.cwd()}/flowJson/${name}.json`;
fs.writeFile(path, content, function (error) {
      if (error) {
        console.error(error)
        resParam = {
          status: false,
          message: error
        }
      } else {
        resParam = {
          status: true,
          message: 'success'
        }
      }
      res.send(resParam)
    })

打开端口

app.use('/', router)

app.listen(port, function () {
  console.log(`Open server in ${port}`)
})

热更新

【node.js热更新】修改node.js代码后,需要手动重启服务才能生效,用热更新(热部署)解决。

前端

读取文件 get方法

//读取文件
export function async_readFileApi(name, callback) {
  let url = BASEAPI + 'readFile'
  return new Promise((resolve, reject) => {
    let params = {
      name: name,
    }
    axios.get(url, {params})//注意这里的params一定要加{}
      .then(response => {
        resolve(response)
      })
      .catch(error => {
        reject(error)
      })
  })
}

保存文件 post方法

//保存文件
export function async_saveFileApi(name, content, callback) {
  const url = BASEAPI + 'saveFile'
  return new Promise((resolve, reject) => {
    let params = {
      name: name,
      content: content
    }
    axios.post(url, params)
      .then((response) => {
        resolve(response)
      })
      .catch(error => {
        reject(error)
      })
  })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值