简介
nodejs
是JavaScript
的运行环境
我们心目中的代码的运行环境
- 运行在服务器端,
web server
- 运行在浏览器端,也就是运行在本地,作为打包或是构建工具
对于nodejs
来说它的运行环境是在服务器端而不是浏览器端
nodejs的实战
安装和下载
一.使用普通方式
访问官网 http://nodejs.cn 来下载并且安装
二. 使用nvm
进行安装(可以多个node
的版本进行切换)
使用mac系统的话,使用brew install nvm
就可以进行安装
使用windows
的话,在github
中搜索nvm-windows
,里面有下载的教程
Nodejs与JavaScript的区别
ECMAScript(ES)-- 相当于一个规范
- 定义了语法,
JS(JavaScript)
与nodejs
都要去遵守 - 包含变量定义,循环,判断,函数
- 原型,原型链,作用域和闭包,异步
Javascript(JS)
- 使用了
ES
的规范,外加web API
(W3C标准)缺一不可 -
DOM
操作,BOM
操作,时间绑定,ajax
等 - 二者相互结合,可以完成浏览器的操作
Nodejs
- 使用
ES
规范+nodejs
的api
-
nodejs
的api
:处理http
请求,处理文件等 - 二者结合,完成服务端(
server
)的任何操作
commonjs的模块化与nodejs的debugger
a.js
// 结构的语法
const {add,mul} = require('./a')
const _ = require('lodash')
const sum = add(10,20);
const result = mul(100,200);
console.log(sum)
console.log(result)
const arr = _.concat([1,2,3],4);
console.log('arr...',arr)
b.js
function add(a,b){
return a+b;
}
function mul(a,b){
return a * b;
}
module.exports = {add , mul};
编译的命令是:node b.js
Server开发和前端开发的区别
- 服务器的稳定性
- 考虑内存与CPU(优化和扩展)
- 日志记录
- 安全
- 服务器的拆封与集群
服务器的稳定性
-
server
端可能承受各种恶意的操作与误操作(要承受很多的前端请求) - 当个客户端可以意外的挂掉,但是服务器不能
-
PM2
的进行守护
考虑CPU与内存
- 客户端独自占用一个浏览器,内存和
CPU
都不是问题 -
Server
承载了很多的请求,CPU
与内存都很稀缺 -
stream
写日志来优化,使用redis
存session
来扩展
日志记录
- 前端会参与写日志,但只是日志的发起方,并不关心后续
-
server
也要记录日志,存储日志,分析日志,这些前端都不关心
安全
server
要随时接受各种的恶意攻击,前端很少要考虑这样的安全问题
ps:越权操作,数据库的攻击
通过登陆验证,预防XSS
和sql
注入
集群和服务拆封
用上面的方式来进行流量的分担