var fs = require('fs'); 操作文件模块
var http = require('http'); http模块
var url = require('url'); 获取url信息模块
var qs = require('querystring'); 处理url参数模块
var path = require('path'); 文件路径模块
var bodyParser = require('body-parser'); 请求体对象化 (必须)否则后台无法解析前端发送的body内容
app.use(bodyParser.json());
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, '../dist')))
app.use(express.static('public'));
// 因为是单页应用 所有请求都走/dist/index.html
app.get('/', function(req, res) {
const html = fs.readFile(path.resolve(__dirname, '../dist/index.html'), 'utf-8');
res.send(html)
});
//处理请求跨域
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Content-Type", "application/json;charset=utf-8");
res.header("Access-Control-Allow-Headers", "content-type");
next();
});
$ npm install mongoskin
#####官方实例
var db = require('mongoskin').db('localhost:27017/animals');
db.collection('mamals').find().toArray(function(err, result) {
if (err) throw err;
console.log(result);
});
var db = require('mongoskin').db('mongodb://localhost:27017/blog');
var ObjectId = require('mongodb').ObjectID;
/**
* 获取文章信息
*/
app.get('/article/info', function (req, res) {
>>> 获取请求参数
var arg = qs.parse(url.parse(req.url).query);
var id = arg.id;
>>> 链接数据库根据参数查找文档并返回
db.collection('articleList').find({ "_id": ObjectId(id)}).toArray(function(err, result) {
if (err) throw err;
console.log(result)
res.end(JSON.stringify(result))
});
});
/**
* 提交留言信息
*/
app.post('/board/post', function (req, res) {
>>>> 获取请求参数
var data = {
date: req.body.date,
name: req.body.name,
content: req.body.content,
time: req.body.time,
position: req.body.position
};
>>> 链接数据库并插入数据
db.collection('board').insert(data, function(err, result) {
if(err) {
res.end('Error:'+ err)
}
res.end('提交成功')
});
});
var multer = require('multer');
var storage = multer.diskStorage({
//设置上传后文件路径,uploads文件夹会自动创建。
destination: function (req, file, cb) {
cb(null, './public/uploads')
},
//给上传文件重命名,获取添加后缀名
filename: function (req, file, cb) {
var fileFormat = (file.originalname).split(".");
cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
}
});
//生成上传模块,让API调用
var upload = multer({
storage: storage
}).single('file');
/**
* 图片上传
*/
app.post('/upload', function (req, res) {
upload(req, res, function (err) {
if (err) {
console.log(err)
return
}
console.log(req.file)
res.end(JSON.stringify(req.file))
})
});
//图片上传到服务器 ,向客户端返回文件信息
比如文件的存储位置,之后就可以通过地址访问服务器的图片
/**
* 图片删除
*/
app.post('/image/delete', function (req, res) {
fs.unlink(req.body.path, function(err) {
if (err) {
return console.error(err);
}
res.end("文件删除成功!");
});
});
var history = require('connect-history-api-fallback');
var connect = require('connect');
///////
app.use(history());
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有