课程名称: Node.js+Express+Koa2+开发Web Server博客
课程章节: 第1章 课程介绍、第2章 nodejs 介绍
课程讲师: 双越
Node.js,为JavaScript的运行环境。
在此之前JS代码只能运行在浏览器中,而有了Node.js之后:
(1)可以将JS代码运行在服务端,作为WebServer。(主要场景)
而非浏览器环境,服务端开发的思路和套路与前端完全不同。
(2)运行在本地,作为打包、构建工具。
做什么:Node.js入门到实战,开发个人博客系统
哪些部分:API、数据存储、登录、日志、安全
技术栈:http、stream、session、mysql、redis、nginx、pm2
课程准备
nodejs介绍、服务端特点、案例分析和设计
原生代码
API和数据存储、登录和redis、安全和日志
使用框架
express和koa2、中间件和插件、中间件原理
线上环境
PM2介绍和配置、PM2多进程模型、服务器运维
(1)使用原生代码开发案例项目
实现API和数据存储,使用mysql数据库。
从0实现登录,并使用redis存储登录信息。
安全,日志记录和日志分析。
(2)使用框架开发案例项目
分别使用express和koa2
中间件机制
常用插件
中间件原理
(3)线上环境
PM2介绍和配置
PM2多进程模型
关于服务器运维
直接通过案例来学习,更能学以致用。
先用原生代码,再用框架和插件,先原理再学应用。
一个案例做三遍,更能通过对比了解框架的设计和价值。
学会使用Node.js开发服务端,成为一名后端开发人员。
学会服务端的其他工具,mysql redis nginx等。
学会服务端开发的思想,和前端开发的区别。
熟悉JavaScript和ES6基本语法。
用过Node.js和npm环境。
了解http协议的基本内容。
只关注后端,不讲解前端。
不会深入讲解mysql redis和nginx,但能满足项目需求。
不讲解vue和React的SSR。
课程中使用的Node.js版本是V10,当前最新的Node.js版本是V14(nodejs.cn),当前最推荐的版本是V12(nodejs.org)。
Node.js的API和应用早就已经稳定了。近期的版本升级都是底层代码修改和bug修复。所以,用V10 V12 V14课程项目没有影响。
(1)普通方式
下载地址:http://nodejs.cn/download/current/,版本:v14.17.6(LTS版本)
打开命令行,运行node -v和npm -v测试。
(2)使用NVM
NVM,Node.js版本管理工具,可切换多个Node.js版本。
基本命令:
nvm list:查看当前所有的node版本
nvm install v10.13.0:安装指定的版本
nvm use --delete-prefix 10.13.0:切换到指定的版本
相关网址:
GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions
https://github.com/nvm-sh/nvm
(1)ECMAScript
要点:定义了语法(ES为语法规范),写JavaScript和Node.js都必须遵守。
变量定义,循环、判断、函数。
原型和原型链、作用域和闭包、异步。
不能操作DOM,不能监听click事件,不能发送ajax请求。
不能处理http请求,不能操作文件。
即,只有ECMAScript,几乎做不了任何实际的项目。
相关网址:
ES6 入门教程 - ECMAScript 6入门
https://es6.ruanyifeng.com/
(2)JavaScript
使用ECMAScript语法规范,外加Web API,缺一不可。
要点:前端JS = ECMAScript + JS Web API
Web API:DOM操作,BOM操作,事件绑定,Ajax等。
两者结合,即可完成浏览器端的任何操作。
(3)Node.js
使用ECMAScript语法规范,外加nodejs API,缺一不可。
要点:Node.js = ECMAScript + nodejs API
Node.js API:处理http,处理文件等
两者结合,即可完成server端的任何操作
相关网址:
API 文档 | Node.js 中文网
http://nodejs.cn/api/
3.Node.js基本使用
在cmd命令行中,命令:node 1.js
作为一门Node.js的入门,双越老师首先对本门课程对了初步的介绍,随后JavaScript开始讲起,谈到JS与Node.js的区别,与Node.js的基本介绍与安装。
其实对于Node.js理解,从个人来讲,就是便于前端开发者开发后端程序的语言,重点:Node.js = ECMAScript + nodejs API。相对于JAVA而言,Node.js更加轻量,遵从ECMA语法,更加便于前端开发者上手。