写这个尼之前我还学了下nodejs的基础,在word里面,这里是直接跳了基础过来直接写的,新手,看视频做做笔记
一 学前需求:
node安装与运行:1.会安装node,搭建node环境。2.会运行node执行node程序
node基础模块的使用:1.buffer:二进制数据处理模块。2.events:事件模块。3.fs:文件系统模块。4.net:网络模块。5.http:http模块
nodejs文档地址 http://nodejs.org/dist/latest-v4.x/docs/api/dns.html
npm(node包管理工具):第三方node模块(包)的管理工具。可以使用该工具下载安装第三方的模块(包),当然也可以创建和上传发布自己的模块(包)
二 技术框架介绍
1、第三方模块&中间件
bodeParser:解析post请求数据
cookies:读/写cookie
swig:模板解析引擎
mongoose:操作mongodb数据
markdown:markdown语法解析生成模块
2、应用创建
创建应用、监听端口
//加载express模块
var express = require('express');
//创建app应用=> nodejs http.createserver();
var app= express();
//监听http请求
app.listen(8081);
3、用户的访问
1)用户通过URl访问应用,如 http://localhost:8081/
2)web后端根据用户访问的URL处理不同的业务逻辑
4、处理请求输出
路由绑定
通过app.get()或app.post()等方法可以把一个url路径和一个或N个函数进行绑定
app.get('/',function(req,res,next){})
req:request对象-保存客户端请求相关的一些路径-http.request
res:response对象-服务端输出对象,提供了一些服务端输出相关的一些方法-http.response
next:方法,用于执行下一个和路径匹配的函数
内容输出
通过res.send(string)发送内容至客户端
5、使用模板
1)模板的使用
后端逻辑和页面表现分离-前后端分离
2)模板配置
var swig = require('swig');
app.engine('html',swig.renderFile);
定义模板引擎,使用swig.renderFile方法解析后缀为html的文件
app.set('views','./views');
设置模板存放目录
app.set('views engine','html');
注册模板引擎
swig.setDefaults({cache:false});
3)设置静态文件托管目录
app.use('/plblic',express.static(_dirname+'/public'));在public目录下划分并存放好相关的静态资源文件
三 总结流程
用户发送http请求 --> 解析路由 --> 找到匹配的规则 --> 执行指定的绑定函数,返回对应内容至用户
/public --> 静态 --> 直接读取指定目录下的文件,返回给用户 --> 动态 --> 处理业务逻辑 ,加载模板,解析模板 --> 返回数据给用