我的用的是create-react-app腳手架建立的APP
!!!注意 :
使用腳手架時,node_modules 會自帶express,若是再次執行 npm install express --save 安裝了 express, npm start 運行會報錯,此時須要npm uninstall express
卸載,而後從新安裝就OK了。安裝:
npm install express --save
html
//目錄: 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
運行結果:node
localhost:9093/
localhost:9093/data
!!!若是修改代碼,頁面會出現 Cannot GET /data,從新執行命令 /> node server.js
,MMP好麻煩,往下看:react
咱們能夠使用 nodemon 來實現自動自動重啓express,安裝:npm install -g nodemon
執行nodemon server.js
,妥了
安裝完畢,之後不再須要再手動操做了~web
express詳細使用:戳我跳轉mongodb
使用nodejs的 mongoose 模塊連接和操做mongodb,安裝 /> npm install mongoose --save
>>>mongoose詳細教程<<<express
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
npm
定義文檔模型,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') })