zoukankan      html  css  js  c++  java
  • NodeJS项目制作流程

    案例:学生档案管理

    • 技术要点
      • http请求响应、MongooDB数据库、art-template模板引擎、静态资源访问。

    NodeJS项目制作流程

    • 建立项目文件夹并生成项目描述文件

      • 新建项目文件夹students
      • 在项目文件夹中打开命令提示符面板
      • 键入指令 npm init -y 自动生成package.json文件
      • students文件夹中新建文件app.js 以创建网络服务器
    • 创建网站服务器实现客户端和服务器端通信

      • app.js文件中,引入http模块,创建网站服务器
    • 连接数据库并根据需求设计学员信息表

      • 下载安装 mongoose 第三方包 npm install mongoose
      • 在项目根目录下新建文件夹model 并创建文件connect.js
      • connect.js中,引入mongoose数据库模块 const mongoose = require('mongoose');
      • 连接数据库 mongoose.connect('mongodb://localhost/playground');
      • app.js中引入connect.js文件 require('./model/connect');
      • model文件夹下新建文件user.js以创建数据库集合
      • user.js中,引入mongoose数据库模块 const mongoose = require('mongoose');
      • 创建学生集合规则 const studentsSchema = new mongoose.Schema({})
      • 使用学生集合规则 const Student = mongoose.model('Student', studentsSchema);
      • 将学生信息集合进行导出 module.exports = Student;
      • 回到app.js 引入学生信息集合 const Student = require('./model/user');
    • 创建路由并实现页面模板呈递

      • 下载安装路由模块 npm install router
      • app.js中引入router模块 require('router');
      • 获取路由对象 const router = getRouter();
      • 定义路由,呈递学生档案信息页面 ``
      • 定义路由 router.get('/add', (req, res) => {res.end('test');})
      • 当客户端访问服务器端的时候,实现路由的调用
    • 实现静态资源访问

      • 下载安装模板引擎模块 npm install art-template
      • 引入模板引擎 const template = require('art-template');
      • 配置模板根目录 template.defaults.root = path.join(__dirname, 'views');
      • 当客户端访问服务器端的时候,启动路由功能
      • 下载安装静态资源访问服务 npm install serve-static
      • 引入模块 const serveStatic = require('serve-static');
      • 调用方法,实现静态资源访问服务 const serve = serveStatic(path.join(__dirname, 'public'));
      • 当客户端访问服务器端的时候,启动静态资源访问服务功能
    • 实现学生信息添加功能

      • 在模板的表单中指定请求地址与请求方式 action method
      • 为每一个表单项添加name属性
      • 添加实现学生信息功能路由
      • 引入querystring模块,将字符串解析为对象 const querystring = require('querystring');
      • 接收客户端传递过来的学生信息
      • 将学生信息添加到数据库中
      • 将页面重定向到学生信息列表页面
    • 实现学生信息展示功能

      • 从数据库中将所有的学生信息查询出来
      • 通过模板引擎将学生信息和HTML模板进行拼接
      • 将拼接好的HTML模板响应给客户端

    第三方模块router

    • 功能:实现路由
    • 使用步骤
      • 获取路由对象
      • 调用路由对象提供的方法创建路由
      • 启用路由,使路由生效
    const getRouter = require('router')
    const router = getRouter();
    router.get('/add', (req, res) => {
        res.end('Hello World!')
    }) 
    server.on('request', (req, res) => {
        router(req, res)
    })
    
    • 下载 npm install router

    第三方模块serve-static

    • 功能:实现静态资源访问服务
    • 步骤:
      • 引入serve-static模块获取创建静态资源服务功能的方法
      • 调用方法创建静态资源服务并指定静态资源服务目录
      • 启用静态资源服务功能
    const serveStatic = require('serve-static')
    const serve = serveStatic('public')
    server.on('request', () => { 
        serve(req, res)
    })
    server.listen(3000)
    

    https://github.com/wing1377/NodeJS-Student-demo

  • 相关阅读:
    《几何与代数导引》例2.7.2
    《几何与代数导引》例2.6
    《几何与代数导引》习题1.37.3
    《几何与代数导引》习题1.37.3
    《几何与代数导引》例2.7.1
    《几何与代数导引》例2.7.1
    《几何与代数导引》例2.7.2
    《几何与代数导引》习题1.38
    《几何与代数导引》例2.6
    Android ApiDemo 笔记(一)Content与Graphics
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13667699.html
Copyright © 2011-2022 走看看