利用node.js编写后台接口
上个月开始学习了解node.js,在学习的过程中边学边改造之前做过的课程设计,下面做下笔记。
搭建基于express框架的运行环境
- 安装express generator生成器
cnpm i -g express-generator
- 通过生成器自动创建项目
express server
- 切换到server目录下
cd server
- 下载依赖
cnpm i
- 跑起项目
cnpm run start
- 打开浏览器输入访问 127.0.0.1:3000
- 至此,就可以开始写接口了
编写接口
- 在server目录下新建一个文件夹models,并在models文件夹下新建 notices. js
let mongoose = require('mongoose'); let Schema = mongoose.Schema; let noticeSchema = new Schema({ "noticeId": String, "noticeTitle": String, "noticeContent": String, "adminId": Number, "adminName": String }); module.exports = mongoose.model('Notice',noticeSchema);
- 在 app.js 中引用该模块,添加下面两句
var noticesRouter = require('./routes/notices'); app.use('/notices', noticesRouter);
- 在routes 目录下新建一个 notices.js 文件,开始相关接口的编写
let express = require('express'); let router = express.Router(); let mongoose = require('mongoose'); let Notices = require('../models/notices'); //连接MongoDB数据库 mongoose.connect('mongodb://127.0.0.1:27017/park',{ useNewUrlParser: true }); // mongoose.connect('mongodb://root:[email protected]:27017/park'); mongoose.connection.on('connected', function() { console.log('MongoDB connected success.'); }); mongoose.connection.on('error', function() { console.log('MongoDB connected fail.'); }); mongoose.connection.on('disconnected', function() { console.log('MongoDB connected disconnected.'); }); router.get("/", function(req, res, next) { // res.send('Hello, notices list.'); Notices.find({}, function (err, doc) { if(err) { res.json({ status: '1', msg: err.message }); } else { res.json({ status:'0', msg: '', result: { count: doc.length, list: doc } }) } }); }); module.exports = router;
- 前端用的是vue,跨域处理暂时采用代理的方式,在项目文件夹下的 config 文件夹下的 index.js 中的 proxyTable 里面 增加 '/': { target: 'http://localhost:3000' } ,如下所示
proxyTable: { '/': { target: 'http://localhost:3000' } },
- 测试请求结果
- 前端接口请求结果
- 页面展示