个人用的是create-react-app脚手架创建的APP
Express:用于开发web接口
!!!注意 :
使用脚手架时,node_modules 会自带express,如果再次执行 npm install express --save 安装了 express,npm start 运行会报错,此时需要npm uninstall express
卸载,然后重新安装就OK了。安装:
npm install express --save
//目录: server/server.js
const express = require('express');
// 新建app
const app = express();
app.get('/', (req, res)=>{
res.send('<h1>Hello world!</h1>')
})
app.get('/data', (req, res)=>{
res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})
})
app.listen(9093,function(req, res){
console.log('Node app start at port 9093')
})
进入 server/目录下执行:/> node server.js
运行结果:
localhost:9093/
localhost:9093/data
!!!如果修改代码,页面会出现 Cannot GET /data,重新执行命令 /> node server.js
,MMP好麻烦,往下看:
我们可以使用 nodemon 来实现自动自动重启express,安装:npm install -g nodemon
执行nodemon server.js
,妥了
安装完毕,以后再也不需要再手动操作了~
Mongodb+mongoose:
使用nodejs的 mongoose 模块链接和操作mongodb,安装 /> npm install mongoose --save
>>>mongoose详细教程<<<
mongoose 连接数据库
//目录: server/server.js
const express = require('express');
+ const mongoose = require('mongoose');
+ const BD_URL = 'mongodb://localhost:27017'
+ // 链接数据库
+ mongoose.connect(DB_URL)
+ mongoose.connection.on('connected', function(){console.log('mongo 链接成功')})
// 新建app
const app = express();
app.get('/', (req, res)=>{
res.send('<h1>Hello world!</h1>')
})
app.get('/data', (req, res)=>{
res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})
})
app.listen(9093,function(req, res){
console.log('Node app start at port 9093')
})
执行nodemon server.js
定义文档模型,Schema和modal新建模型
//目录: server/server.js
const express = require('express');
const mongoose = require('mongoose');
const DB_URL = 'mongodb://localhost:27017'
// 链接数据库
mongoose.connect(DB_URL)
mongoose.connection.on('connected', function(){console.log('mongo 链接成功')})
+ // 创建User模型
+ const User = mongoose.model('users', new mongoose.Schema({
+ name:{type:String, require:true},
+ age:{type:Number, require: true}
+ }))
+ // 新增数据
// 方法一:
+ const userModel = new User({username, type, pwd:md5Pwd(pwd)});
+ userModel.save(function(err,doc){
+ console.log(doc)
+ if(err){return res.json({code:1, msg:'服务器忙'})}
+ const {username, type, _id} = doc;
+ res.cookie('user_id', _id)
+ return res.json({code:0, data:{username, type, _id} })
+ })
// 方法二
+ User.create({username, type, pwd:md5Pwd(pwd)}, function(err, doc){
+ console.log(doc)
+ if(err){
+ return res.json({code:1, msg:'后台出错了'})
+ }
+ return res.json({code:0})
+ })
+ // 删除数据
+ // User.remove({age:18}, function(err, doc){
+ // console.log(doc)
+ // })
+ // 更新数据
+ // User.update({'name':'Kenny'}, {'$set':{age:30}}, function(err, doc){
+ // console.log(doc)
+ // })
// 新建app
const app = express();
app.get('/', (req, res)=>{
res.send('<h1>Hello world!</h1>')
})
app.get('/data', (req, res)=>{
- // res.json({desc:'想要躺赢的马瑞华', job:'程序猿'})
+ // 查找信息 find, findOne
+ User.find({user:'Kenny'}, function(err, doc){
+ res.json(doc)
+ })
})
app.listen(9093,function(req, res){
console.log('Node app start at port 9093')
})
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。