路由器
  • 是一个完整的中间件和路由系统,也可以看做是一个小型的app对象

创建路由器

/*
文件夹结构
db
* db.js
moudel
      userModel.js
      public
      login.html
      register.html
server.js
router
UIRouter.js
*/
/*
* 该模块主要用于连接数据库,且判断数据库的连接状态
* */
let mongoose = require('mongoose')
mongoose.set('useCreateIndex',true) //使用一个新的索引创建器

const DB_NAME = 'atguigu' //数据库名
const PORT = 27017 //端口号
const IP = 'localhost' //主机名(ip地址)

//用于连接数据、并监测数据库连接状态的方法
function connectMongo(success,failed) {
 //1.连接数据库
 mongoose.connect(`mongodb://${IP}:${PORT}/${DB_NAME}`,{
   useNewUrlParser: true, //使用一个新的URL解析器,用于解决一些安全性问题。
   useUnifiedTopology: true //使用一个统一的新的拓扑结构。
})

 //2.绑定数据库连接的监听
 mongoose.connection.on('open',function (err) {
   if(err){
     console.log('数据库连接失败',err)
     failed('connect failed')
  }else{
     console.log('数据库连接成功')
     success()
  }
})
}

module.exports = connectMongo

/*
文件夹结构
db
db.js
moudel
      * userModel.js
      public
      login.html
      register.html
server.js
router
UIRouter.js
*/
//把数据库想象成你家的别墅
let mongoose = require('mongoose')

//1.请来一个帮你看门的保安 ------ 引入模式对象
let Schema = mongoose.Schema

//2.制定进入你家的规则 -------- 创建约束对象
let usersRule = new Schema({
 email:{
   type:String,
   required:true,
   unique:true
},
 nick_name:{
   type:String,
   required:true,
},
 password:{
   type:String,
   required:true,
},
 date:{
   type:Date,
   default:Date.now()
},
 enable_flag:{
   type:String,
   default:'Y'
}
})

//3.告诉保安你的规则 ------- 创建模型对象
module.exports = mongoose.model('users',usersRule) //用于生成某个集合所对应的模型对象

/*
文件夹结构
db
db.js
moudel
      userModel.js
      public
      login.html
      register.html
server.js
router
* UIRouter.js
*/
// 引入Router
const {Router} require=('express');
// 创建一个Router实例(路由器就是一个小型的app)
let router = new Router();
// 引入path模块--node中内置的一个专门用于解决路径问题的库
let {resolve} = require('path')
router.get("/login",(request,response)=>{
  let url = resolve(__dirname,'../public/login.html')
   response.sendFile(url)
})
router.get('/register',(req,res)=>{
   let url = resolve(__dirname,'../public/register.html')moban
   response.sendFile(url)
})
module.exports = router
/*
文件夹结构
db
db.js
moudel
      userModel.js
      public
      login.html
      register.html
* server.js
router
UIRouter.js
*/
// 引入 express
const exporess = require('exporess');
// 创建app应用对象
const app = express();
// 禁止服务器返回x-powered-By,为了安全
app.disable('x-powered-by')
// 使用内置中间件暴露静态资源,不访问路由直接写文件名+后缀也能看页面
app.use(exporess.static(__dirname+'/public'))
// 连接db模块,用于连接数据库
const db = require("./db/db")
// 使用内置中间件用于解析post请求的urlencoded参数
app.use(esporess.urlencoded({extended:true}))
// 引入UI路由器
const UIRouter = require("./router/UIRouter.js")
db(()=>{
   app.use(UIRouter)
   app.listen(3000,(err)=>{
       if(!err){console.log('服务器启用成功')}
       else{console.log(err)}
  })
})
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇