后端
引入初始化
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)
})
})
}