Node学习笔记-大纲版
01 | node
1、什么是NodeJS
1)Node.js 是一个基于 Chorm V8 引擎的JavaScript运行环境
2)Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效
3)Node.js 的包管理器 npm ,是全球最大的开源生态系统
2、NodeJS为什么这么火
1)使用 JavaScript
2)速度非常的快( V8 引擎 & non-block )
3)Node.js 的包管理 npm ,是全球最大的开源生态系统
3、学习前需要掌握的知识点
1)HTML+CSS
2)JavaScript
3)Command Line
4、将学到的知识点
1)学习 NodeJS 的工作原理,例如V8引擎/模块/事件队列/文件系统
2)搭建服务器(Express/路由/Template模板)
3)实战项目(TodoApp)
5、WebStorm (现在一般使用VSCode)
1)运行js文件
2)Terminal(终端):node app.js 或者 右键运行app.js
6、JavaScript引擎 -> Engines
1)电脑根本不识别也不理解 JavaScript
2)JavaScript 引擎起到的作用就是让电脑识别 JS 代码
7、V8 引擎 -> Engines
1)Node.js 是使用 C++ 写的
2)V8 引擎是 Node.js 的核心
3)V8 引擎的作用就是让 JS 代码能够让电脑识别
4)流程梳理:电脑 -> ( C++ Node V8 ) -> JavaScript
8、什么是模块
1)在Node.js中,文件和模块是一一对应的(每个文件被视为一个独立的模块)
9、什么是事件模块 -> Events
1)大多数 Node.js 核心 API 都是采用惯用的异步事件驱动架构( fs/http )
2)所有能触发事件的对象都是 EventEmitter 类的实例
3)事件流程:引入模块 -> 创建 EventEmitter 对象 -> 注册事件 -> 触发事件
10、什么是文件系统 -> 对项目中的文件进行操作
1)读取文件( fs.readFile )
2)写入文件( fs.writeFile )
3)流程:引入 fs 模块 -> 调用方法 -> 异常捕获
11、文件系统操作 -> 对项目中的文件进行操作
1)创建文件夹( fs.mkdir )
2)删除文件夹( fs.rmdir )
3)删除文件( fs.unlink )
4)流程:引入 fs 模块 -> 调用方法 -> 异常捕获
12、 服务器与客户端
1)服务器与客户端的关系
2)客户端向服务器发送请求
3)服务器向客户端返回数据
13、Http创建服务器
1)通过Http模块创建本地服务器
const http = require('http');
//创建一个 HTTP 服务器
var server = http.createServer( (req,res) => {
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('hello world');
});
server.on('upgrade',(req,socket,head) => {
socket.write('HTTP/1.1 101 Web Socket 协议握手 \r\n' +
'升级:WebSocket \r\n' +
'连接:升级\r\n'+
'\r\n');
socket.pip(socket); //回声
});
//监听服务
server.listen(3000,'127.0.0.1'); //端口号,ip地址
14、缓存区:可以在TCP流和文件系统操作等场景中处理二进制数据流。

15、流:在 Node.js 中是处理数据流数据的抽象接口

16、管道事件:左面输出 | 右面输入

02 | npm
1、什么是NPM -> Node Package Manager
1) NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题
2、NPM的应用 -> 常见的使用场景有以下几种
1) 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
2)允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
3)允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
3、如何使用NPM
1、安装模块:
npm install <Module Name> (例如:npm install jquery)
2、卸载模块
npm uninstall <Module Name> (例如:npm uninstall jquery)
4、什么是package ->Node package manager
1) package用于定义项目中所需要的各种模块,以及项目的配置信息(比如:名称、版本、许可证等元数据)
5、如何安装package
1)使用 npm install ,之前需要安装 package.json,其中名字须为小写的。
2)安装 package.json (执行: npm init)
3)在安装模块时(例如使用命令:nmp install mocha --save-dev),在 package.json 中就会归类到 devDependencies 中,如下所示。
...省略...
"author":"",
"license":"ISC",
"denpendencies":{
"jquery":"^3.2.1"
},
"devDenpendencies":{
"mocha":"^3.2.0"
}
03 | nodemon
1、作用
1)在开发环境下,往往需要一个工具来自动重启项目工程,我们可以借助nodemon来代替node进行启动。
2、 安装nodemon
1)npm install nodemon --save-dev
3、 启用
1)nodemon 文件名,例如 nodemon app.js
04 | Express
1、作用
1)已经封装好服务器
2)已经封装好路由
3)已经封装好中间件
4)已经封装好网络请求
2、如何使用
1)NPM安装Express框架
2)引入Express模块
3)实例化Express的对象
4)通过对象进行调用各种方法
05 | EJS模板引擎
1、EJS模板引擎的特点
1)快速编译和渲染
2)简单的模板标签
3)支持浏览器端和服务器端
4)支持express视图系统
2、 EJS示例代码
<ul>
<% for (var i=0; i<suplies.length; i++) {%>
<li><%= supplies[i] %></li>
<% } %>
</ul>
3、 安装EJS
1)执行 npm install ejs --save-dev
06 | 公共模板
1、实施计划
1)使用EJS替代HTML
2)创建导航(公共模板)
3)解决外部样式不可用的问题
07 | 实战
1. 准备工作
启动新的项目
初始化 package
安装 express 框架
安装 ejs body-parser 模块
2. TodoApp
引入jQuery
设置视图
设置请求页面返回视图
设置视图样式
3. 设置样式
input 输入框的样式
placeholder 的样式
button + 号的样式
svg 图片的样式
外层及里层容器的样式
设置 li 容器的样式
设置 button 中删除和完成的样式
使用 CSS 处理简单的逻辑
4. CSS设置样式
使用 CSS 处理简单的逻辑
处理本地数据
5. 添加数据
在控制器中处理本地数据
在视图中将数据展示出来
6. 删除数据
获取要删除的数据信息
传递到服务器,将数据跟数组中的信息进行匹配
匹配成功的数据,将数据从数据删除
刷新页面
7. 使用数据库
安装 Mongoose 模块
使用 mlab 网络数据库
创建数据库及配置用户名和密码
链接 MongoDB 数据
8. node安装MongoDB
npm install mongoose --save-dev
参考文献:
[1] 米斯特吴. NodeJS从入门到实战[M]. 腾讯课堂, 2019.
[2] 图片取自《NodeJS从入门到实战》
这篇博客是Node.js的学习大纲,涵盖了从Node.js的基础知识如V8引擎、模块、事件模块、文件系统,到实战中的Express框架、EJS模板引擎的使用。还介绍了npm包管理器的使用和nodemon在开发环境中的应用。通过这个大纲,读者可以系统地学习Node.js并进行项目实践。

313

被折叠的 条评论
为什么被折叠?



