app01
// 引入http模塊 const http = require('http'); //連接數據庫 require('./model/connects'); // 創建網站服務器 const app = http.createServer(); //引入模板引擎 const template = require('art-template'); // 引入path模塊 const path = require('path'); // 引入處理日期的第三方模塊 const dateformat = require('dateformat') // 引入靜態資源訪問模塊 const serveStatic = require('serve-static'); // 引入querystring模塊 const querystring = require('querystring'); const router = require('./router/index') //實現靜態資源訪問服務 const serve = serveStatic(path.join(__dirname, 'public')) // 配置模板的根目錄 template.defaults.root = path.join(__dirname, 'views') //處理日期格式的方法 template.defaults.imports.dateformat = dateformat //當客戶端訪問服務器端的時候 app.on('request', (req, res) => { // 啟用路由功能 router(req, res, () => {}) // 啟用靜態資源訪問服務功能 serve(req, res, () => {}) }) app.listen(3000); console.log('服務器啟動成功')
index.js
//引入router模塊 const getRouter = require('router'); //引入模板引擎 const template = require('art-template'); // 引入querystring模塊 const querystring = require('querystring'); //創建集合規則 const Student = require('../model/User') // 獲取路由對象 const router = getRouter(); //呈遞學生檔案信息頁面 router.get('/add', (req, res) => { let html = template('index.art', {}); res.end(html) }) router.get('/list', async(req, res) => { //查詢學生信息 let student = await Student.find(); console.log(student) let html = template('indexdetail.art', { student: student }); res.end(html) }) //實現學生信息添加功能 router.post('/add', (req, res) => { //接受post請求參數 let formData = ''; req.on('data', param => { formData += param; }); req.on('end', async() => { await Student.create(querystring.parse(formData)) res.writeHead(301, { Location: '/list' }); res.end() }) }) module.exports = router
connects.js
const mongoose = require('mongoose') // 連接數據庫 mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true }) .then(() => console.log('數據庫連接成功')) .catch(() => console.log('數據庫連失敗'))
Users.js
const mongoose = require('mongoose') // 創建學生集合規則 const studentsSchema = new mongoose.Schema({ name: { type: String, require: true, minlength: 2, maxlength: 10 }, age: { type: Number, min: 10, max: 25 }, sex: { type: String }, email: String, hobbies: [String], collage: String, enterDate: { type: Date, default: Date.now } }) // 創建集合規則 const Student = mongoose.model('Student', studentsSchema) module.exports = Student