Express+mongoose搭建简易的web数据接口
2018-02-01 12:02
302 查看
搭建node.js服务和express框架
开始:npm install express --save
express server
done
启动:
npm install
node bin/www或者
npm start
更换jade模板引擎为html
安装ejs
npm install ejs --save
app.js引入
ejs:
var ejs = require('ejs')
配置view engine :
app.engine('.html',ejs.__express)
app.set('view engine', 'html')
安装mongoose
npm install mongoose --save
构建模型models
在server目录下建立
models目录,新建文件
movie.js用来存放movie数据模型
注意模型在输出的时候的名称与数据库中集合名的对应问题
比如我们数据库的集合名称是
users那么输出
User这里不用加s,数据库中的集合名称一定要加s,否则拿不到数据
const mongoose = require('mongoose') const movieSchema = mongoose.Schema({ title: {type: String, required: true}, poster: String, rating: String, introduction: String, created_at: { type: Date, default: Date.now}, updated_at: { type: Date, default: Date.now} }) //输出 module.exports = mongoose.model('Movie', movieSchema)
构建路由routes
在routes目录下新建
movie.js
var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); // 引入数据模型 var Movie = require('./../models/movie'); // 连接数据库 mongoose.connect('mongodb://127.0.0.1:27017/movie'); router.get('/',function(req, res, next) { Movie.find({}, (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
访问数据
在完成数据模型和路由后,启动server服务,这里推荐用pm2工具
安装:
npm install pm2 -g
使用:
pm2 start server/bin/www
当然也可以用node直接启动
node server/bin/www
启动之后访问
localhost:3000/movie,就能访问到数据库中movie集合的数据了
跨域问题
跨域问题使用webpack反向代理,webpack配置config/index.js
proxyTable: { '/users/*': { target: 'http://localhost:3500', changeOrigin: true }, '/table/*': { target: 'http://localhost:3500', changeOrigin: true } },
axios创建的时候配置
const BASE_API = '/' // 创建axios实例 const service = axios.create({ baseURL: BASE_API, // api的base_url timeout: 15000 // 请求超时时间 })
实践:创建一个用户管理实例
配置客户端获取用户列表的api去服务端写数据接口,获取全部用户信息
写页面,创建钩子函数,去调用用户列表的api
··· ···
完善添加用户、编辑用户、删除用户功能
根据权限动态配置路由
登录&权限看这里,参考大神的项目教程配置相关文章推荐
- node使用express搭建服务web前端(服务数据)。
- express搭建简易web的服务器
- Express + React 搭建简易web微博
- react-redux-webpack-express开发环境搭建
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- web idl 接口定义语言数据类型与 C++绑定关系(转)
- ubuntu下搭建hive(包括hive的web接口)记录
- L2十档行情API接口(十档委托、买卖队列、逐笔成交)web或软件应用xml数据接口
- 一步一步教您用websocket+nodeJS搭建简易聊天室(3)
- Python 搭建Web站点之Web服务器网关接口
- Python 搭建Web站点之Web服务器网关接口
- python开发web服务器——搭建简易网站
- NET编程简易生成用友财务软件的财务接口数据
- 快速搭建Web环境 Angularjs + Express3 + Bootstrap3
- 基于大数据的房价分析--4.用spring搭建后端接口
- 使用nginx搭建前端项目web服务器以及利用反向代理调试远程后台接口
- linux+nginx+express+mongoose+webpack+react+react-router+sass构建web应用
- express+webpack+react搭建项目
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- 对jsp的一个小结(1)搭建web应用环境、用jsp实现输出、实现数据传递