nodejs
1. nodejs 是什么?
服务端的javascript 解释器
V8 引擎 - javascript 语言进行解释
2. nodejs 的特点
1. 事件驱动
2. 非阻塞I/O
3. javascript 运行环境
4. 依赖Chrome V8引擎进行解释
5. 单进程,单线程
6. 轻量、可伸缩,适于实时数据交互应用
3. Nodejs 优缺点
优点:
1. 高并发,占用更少的资源
2. 适合I/O密集型应用
Node的缺点:
a. 不适合CPU密集型应用;
CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;
b. 只支持单核CPU,不能充分利用CPU
c. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃
原因:单进程,单线程
解决方案:(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;
(2)开多个进程监听同一个端口,使用cluster模块;
d. 开源组件库质量参差不齐,更新快,向下不兼容
e. Debug不方便,错误没有stack trace
4. npm
NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具
npm 国外下载,改成国内淘宝镜像去下载
5. nodejs 安装
6. nodejs 的使用
Nodejs 采用的是ECMA的核心语法,所有ECMA定义的知识都可以在nodejs 使用。
BOM+DOM 不能在nodejs 使用。
项目构建 :
package.json 依赖文件 (npm init)
public 静态文件夹 (js html css )
app.js 入口文件
router - 路由
view - 视图
model - 模型
controller - 控制层
B/S c/s
B: browser 浏览器 S:服务器
1. 浏览器
2. http 协议
3. 服务器服务要启动
java => tomcat
php => apache
asp => iis
nodejs => nodejs 代码
4. 网页
localhost: 本机
127.0.0.1 : 本机
库/包/模块
[模块包的下载]
npm install 模块名称 //最新模块,安装是当前路径 , 默认是生产环境
npm install 模块名称@版本号
npm install 模块名称 -g // 全局安装, 安装电脑 C 盘/xx
npm install 模块名称 --save // 生产环境的依赖
npm install 模块名称 --save-dev //开发环境的依赖
install 简写 : i
--save: S
--save-dev : D
7. express 模块
express 是一个web应用开发框架
日志模块
morgan
图标
serve-favicon
万能公式
1. 了解模块
2. 下载模块
3. 使用模块
引用 配置 使用
post 数据获取
bode-parser
http请求方式:
get
post
put
delete
options
head
trace
connect