Node.js | 学习笔记

一、客户端请求
1、用于请求文件资源的请求。
2、具有特定功能的请求,比如数据请求等。
(Apache等服务器的作用之一,就是用于处理http请求等任务。)

二、本地文件部署到Linux服务器
XShell操作Linux服务端,Sublime中安装sftp插件把本地项目文件同步到Linux服务端。

三、服务器
1、http服务器,只能从客户端向服务端发起请求,它可以由node的 http模块、或者express框架来创建。(express框架是基于node的 http模块的。)
2、tcp服务器,C-S双向通信、实时通信,它基于node的 net 模块来创建。
(npm install express-generator -g, 使用 express demo-name命令 快速创建express服务器。)

Node.js | 学习笔记_第1张图片
nte.png

四、express静态资源服务
静态资源服务的作用是,实现在前端直接访问后台的静态资源文件。例:http://localhost:8888/fire.txt
app.use(express.static('./public'));

Node.js | 学习笔记_第2张图片
静态文件.png

五、路由
1、路由,即域名之后、#之前的url部分。

Node.js | 学习笔记_第3张图片
什么路由?.png

2、node实现路由的三种方式:
(1)path路径路由
(2)Router子路由
(3)router RESTful API路由
3、路由参数
app.param() 定义路由参数
app.get( ' ./news/:id ' ); 使用路由参数

六、中间件(Connect)


Node.js | 学习笔记_第4张图片
中间件 分层处理.png

七、创建TCP服务端与TCP客户端


Node.js | 学习笔记_第5张图片
tcp-server.png

Node.js | 学习笔记_第6张图片
tcp-client.png

八、node项目实战-CMS系统-目录结构设计


Node.js | 学习笔记_第7张图片
node开发整体设计.png

(1)项目文件组织(MVC)
1、M模型用于组织数据和程序的功能。
2、V视图用于处理和用户的交互。
3、C控制器,用于把V中的请求转发给相应的M。
以node.js项目为例,models文件夹中的代码对应着M。routers路由文件夹和controllers文件夹中的代码对应着C。views文件夹和public目录对应着V。
(2)项目文件组织的两种策略
1、水平文件夹结构:即,按文件的类型进行组织。
2、垂直文件夹结构:即,按文件的功能进行组织。
(3)项目的初始化
项目的初始化,即对项目进行若干的配置。分为前端配置和后端配置。
(4)模块化
模块化有两层含义:一层,以文件为单位对代码进行模块化。 另一层,以“类”和“函数”为单位对代码进行模块化。
module.exports = { };
module.exports = xxx;
var m = require('./xxx');

九、node项目实战-CMS系统-后端实现
(1)项目初始化
1、npm init
2、express demo-name

十、node项目实战-CMS系统-前端自动化bower工具
1、安装bower: npm install bower -g
2、在node项目的根目录下创建public目录并进入: mkdir public / cd public
3、进入public目录后,用bower自动化生成前端项目: bower init --allow-root
(模块规范,使用CMD即可)
4、查看前端自动化所生成bower.json文件详情: cat bower.json
5、把前端文件添加为express静态资源服务: app.use( express.static("./public") );
6、安装angularjs: bower install angularjs --allow-root --save
7、安装bootstrap: bower install bootstrap --allow-root --save
(bootstrap依赖于jQuery,所以jQuery会自动被下载安装)

你可能感兴趣的:(Node.js | 学习笔记)