摘要:個(gè)人用的是腳手架創(chuàng)建的用于開(kāi)發(fā)接口注意使用腳手架時(shí),會(huì)自帶,如果再次執(zhí)行安裝了,運(yùn)行會(huì)報(bào)錯(cuò),此時(shí)需要卸載,然后重新安裝就了。
個(gè)人用的是create-react-app腳手架創(chuàng)建的APPExpress:用于開(kāi)發(fā)web接口
!!!注意 :
使用腳手架時(shí),node_modules 會(huì)自帶express,如果再次執(zhí)行 npm install express --save 安裝了 express,npm start 運(yùn)行會(huì)報(bào)錯(cuò),此時(shí)需要 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("Hello world!
") }) app.get("/data", (req, res)=>{ res.json({desc:"想要躺贏的馬瑞華", job:"程序猿"}) }) app.listen(9093,function(req, res){ console.log("Node app start at port 9093") })
進(jìn)入 server/目錄下執(zhí)行:/> node server.js
運(yùn)行結(jié)果:
localhost:9093/
localhost:9093/data
!!!如果修改代碼,頁(yè)面會(huì)出現(xiàn) Cannot GET /data,重新執(zhí)行命令 /> node server.js,MMP好麻煩,往下看:
我們可以使用 nodemon 來(lái)實(shí)現(xiàn)自動(dòng)自動(dòng)重啟express,安裝:npm install -g nodemon
執(zhí)行nodemon server.js ,妥了
安裝完畢,以后再也不需要再手動(dòng)操作了~
express詳細(xì)使用:戳我跳轉(zhuǎn)
Mongodb+mongoose:>>>mongodb下載<<<
使用nodejs的 mongoose 模塊鏈接和操作mongodb,安裝 /> npm install mongoose --save
>>>mongoose詳細(xì)教程<<<
mongoose 連接數(shù)據(jù)庫(kù)
//目錄: server/server.js const express = require("express"); + const mongoose = require("mongoose"); + const BD_URL = "mongodb://localhost:27017" + // 鏈接數(shù)據(jù)庫(kù) + mongoose.connect(DB_URL) + mongoose.connection.on("connected", function(){console.log("mongo 鏈接成功")}) // 新建app const app = express(); app.get("/", (req, res)=>{ res.send("Hello world!
") }) app.get("/data", (req, res)=>{ res.json({desc:"想要躺贏的馬瑞華", job:"程序猿"}) }) app.listen(9093,function(req, res){ console.log("Node app start at port 9093") })
執(zhí)行nodemon server.js
定義文檔模型,Schema和modal新建模型
//目錄: server/server.js const express = require("express"); const mongoose = require("mongoose"); const DB_URL = "mongodb://localhost:27017" // 鏈接數(shù)據(jù)庫(kù) mongoose.connect(DB_URL) mongoose.connection.on("connected", function(){console.log("mongo 鏈接成功")}) + // 創(chuàng)建User模型 + const User = mongoose.model("users", new mongoose.Schema({ + name:{type:String, require:true}, + age:{type:Number, require: true} + })) + // 新增數(shù)據(jù) // 方法一: + 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:"服務(wù)器忙"})} + 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:"后臺(tái)出錯(cuò)了"}) + } + return res.json({code:0}) + }) + // 刪除數(shù)據(jù) + // User.remove({age:18}, function(err, doc){ + // console.log(doc) + // }) + // 更新數(shù)據(jù) + // User.update({"name":"Kenny"}, {"$set":{age:30}}, function(err, doc){ + // console.log(doc) + // }) // 新建app const app = express(); app.get("/", (req, res)=>{ res.send("Hello world!
") }) 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") })
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/99055.html
摘要:個(gè)人用的是腳手架創(chuàng)建的用于開(kāi)發(fā)接口注意使用腳手架時(shí),會(huì)自帶,如果再次執(zhí)行安裝了,運(yùn)行會(huì)報(bào)錯(cuò),此時(shí)需要卸載,然后重新安裝就了。 個(gè)人用的是create-react-app腳手架創(chuàng)建的APP Express:用于開(kāi)發(fā)web接口 !!!注意 : 使用腳手架時(shí),node_modules 會(huì)自帶express,如果再次執(zhí)行 npm install express --save 安裝了 expr...
摘要:在上一章入門(mén)及實(shí)例一應(yīng)用實(shí)例的基礎(chǔ)上增加優(yōu)化界面增加后臺(tái)框架,操作。刪除選中項(xiàng)時(shí),一定要在刪除成功后將置空,否則在下次選擇時(shí)會(huì)選中已刪除的項(xiàng),雖然沒(méi)有元素但可能會(huì)影響其他一些操作。中設(shè)置跨域訪(fǎng)問(wèn)實(shí)際是對(duì)進(jìn)行匹配。 在上一章 React + MobX 入門(mén)及實(shí)例(一) 應(yīng)用實(shí)例TodoList的基礎(chǔ)上 增加ant-design優(yōu)化界面 增加后臺(tái)express框架,mongoose操作。...
摘要:本項(xiàng)目是對(duì)使用開(kāi)發(fā)一個(gè)角色投票應(yīng)用的學(xué)習(xí)過(guò)程。到這里為止沒(méi)有遇到多大的坑,最多的往往是拼寫(xiě)錯(cuò)誤引起的問(wèn)題,唯一由于拼寫(xiě)導(dǎo)致,但不提示錯(cuò)誤的是我打成了運(yùn)行的時(shí)候服務(wù)器一直沒(méi)有響應(yīng),找了好久才找到這個(gè)錯(cuò)誤后篇使用開(kāi)發(fā)一個(gè)角色投票應(yīng)用的學(xué)習(xí)過(guò)程二 本項(xiàng)目是對(duì)使用React、Node.js、MongoDB、Socket.IO開(kāi)發(fā)一個(gè)角色投票應(yīng)用的學(xué)習(xí)過(guò)程。 英文原文:Create a char...
摘要:前言本文講解的是做為前端開(kāi)發(fā)人員,對(duì)服務(wù)器的了解還是小白的我,是如何一步步將項(xiàng)目部署在阿里云的服務(wù)器上,并進(jìn)行性能優(yōu)化,達(dá)到頁(yè)面秒內(nèi)看到,秒內(nèi)看到首屏內(nèi)容的。搭建的項(xiàng)目是采用了主流的前后端分離思想的,這里只講服務(wù)器環(huán)境搭建與性能優(yōu)化。 showImg(https://segmentfault.com/img/remote/1460000017143281); 前言 本文講解的是:做為前...
閱讀 3149·2021-11-22 13:54
閱讀 3435·2021-11-15 11:37
閱讀 3598·2021-10-14 09:43
閱讀 3496·2021-09-09 11:52
閱讀 3595·2019-08-30 15:53
閱讀 2457·2019-08-30 13:50
閱讀 2055·2019-08-30 11:07
閱讀 885·2019-08-29 16:32