Node/01/案例流程

案例流程

/* 案例流程:
 * 项目结构 => 新建文件夹"30_blog" => 控制台"npm init -y"生成package.json依赖记录文件 => 控制台"git init"连接github准备
 * => 安装必要第三方包,控制台"npm i express mongoose --save" =>主目录下创建"app.js"文件 
 * => app.js创建服务,如下
 */
var express = require("express"); /* 引入express服务框架 */
var path = require("path"); /*路径核心模块 */
var app = express(); /* 创建服务 */
app.use("/public/", express.static(path.join(__dirname, "./public/"))); /* 开放静态资源目录 */
app.use("/node_modules/", express.static(path.join(__dirname, "./node_modules/")));
app.get('/', function (req, res) {
    res.send("Hello project begin!");
}); /* 请求处理 */
app.listen(5000, function () {
    console.log("running......");
}); /* 开启服务监听 */
/* 
 * => 安装模板引擎" install express-art-template art-template --save" 
 * => 使用模板引擎时必要配置,如下
 */
app.engine('html', require("express-art-template")); // 引入express-art-template模板引擎,默认模板库为主目录的"./views"文件夹,其中的.html将视作模板 
app.set("views", path.join(__dirname, "./views/")); //设置模板库在主目录下views文件夹
/* => 配合模板语法创建前端.html文件
 * => 路由表设计 =>
 *  | 路径 | 方法 | get参数 | post参数 | 是否需要登入 | 备注 |
 *  | /    | GET  | 默认无  | 默认无   | 默认否       | 渲染首页 |
 *  | /register | GET | | |                           |渲染注册页面 |
 *  | /register | POST | | email,nickname,password |  | 处理注册请求 |             
 *  | /login | GET | | |                              | 渲染登入页面 |
 *  | /login | POST | | email,password                | 处理登入请求 |
 *  | /logout | GET | | |                             |处理退出请求 |
 * 
 * => 路由表建立,router.js内如下
 */
var express = require("express"); /* 引入express服务框架 */
var router = express.Router(); /* 使用express的路由容器构造函数 */
router.get("/", function (req, res) {
    res.render("index.html");
}); /* 加入路由映射关系 */
module.exports = router; /* 导出路由容器 */
/* 
 * => 路由表建立,app.js内如下
 */
var router = require("./router.js"); /* 导入路由容器 */
app.use(router); /* 把路由挂载到app服务上 */
/* 
 * => 处理表单提供的数据 => 操作数据库 => 发送表单
 * => 设计数据模型文件(以便使用Mongoose增删改查数据)
 * => 设计多个数据模型模块,例子user.js内容如下
 */
var mongoose = require("mongoose"); /* 引入mongoose数据库操作框架 */var Schema = mongoose.Schema;var userSchema = new Schema({    id: {        type: String    },    email: {        type: String,        required: true    },    nickname: {        type: String,        required: true    },    password: {        type: String,        required: true    },    create_time:{        type:Date,        default:Date.now()    }}); /* 创建并设计模型内部结构 */module.exports = mongoose.model("User", userSchema);/* 导出本模块的数据模型 */
/* 
* => mongoose.conect("mongodb://localhost/test",{useMongoClient:true}) //在多个数据模型文件中只需要连接一次数据库服务
 */

/* 
* => 根据多个数据模型模块完成路由表router.js中所有路由映射关系
*/

@沉木

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值