NodeJS 入门(一)

一、什么是NodeJS
Node.js 是一个基于 Chrome V8 引擎JavaScript 运行环境
Node.js 使用了一个 事件驱动非阻塞式 I/O 的模型,使其 轻量又高效
Node.js 的包管理器 npm,成为世界上 最大的开放源代码的生态系统
原生模块第三方模块
淘宝镜像、: http://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
二、NodeJS怎样
Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如:
文件的读写
进程的管理
网络通信 同源策略:协议 端口 域名
......
三、为什么要学习NodeJs
列举一些基于Node的工具或者框架
Node-Webkit:基于node的webkit的内核
NodeOS:基于node的操作系统
Express:基于node的框架
Jade:模板
EJS:模板
Forever:负载均衡
PM2:负载均衡
Log.io:浏览器打印各种输出日志,报错等
Grunt、Gulp、Webpack:前端工程化工具
Mocha、Karma:前端测试工具
......
四、学习nodeJS的五个网站
node官网: https://nodejs.org/en/ -------下载node,官方API,更新日志,发布的动态
npm官网: https://www.npmjs.com/search?q= -------可以搜索你需要的模块,模块管理、组件安装
国外技术博客: http://stackoverflow.com/questions -----使用nodejs遇到的问题
国内的技术博客: https://segmentfault.com/ -----遇到的问题
五、nodeJS的安装
Mac系统的安装
windows系统的安装
其他系统的安装
v6.9.5 LTS v7.5.0 Current
偶数位为稳定版本:v6.8.x v6.6.x v6.4.x
基数位为非稳定版本:v6.9.x v6.7.x v6.5.x
六、搭建第一个WEB服务器
查看端口被占用 8080
win+R打开命令行窗口,
netstat -ano|findstr "8080"
在任务管理器中消除掉即可
本地创建一个文件server.js,代码采用es6编写
const http = require("http");
		const homename = "127.0.0.1";
		const port = 3000;
		const server = http.createServer((req,res)=>{
			res.statusCode = 200;
			res.setHeader("Content-Type","text/plain");
			res.end("hello world");
		});
		
		server.listen(port,hostname,()=>{
			console.log(`server running at http://${hostname}:${port}/`);
		})

es5的编写方法
var http = require('http');
		http.createServer(function (request, response) {
		
			// 发送 HTTP 头部 
			// HTTP 状态值: 200 : OK
			// 内容类型: text/plain
			response.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});
		
			// 发送响应数据 "Hello World"
			response.end('Hello World\n');
		}).listen(8888);
		
		// 终端打印如下信息
		console.log('Server running at http://127.0.0.1:8888/');

七、命令行中体验
输入node即可进入控制台---交互式解释器--Node.js REPL
表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。
Node 自带了交互式解释器,可以执行以下任务:
读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。
执行 - 执行输入的数据结构
打印 - 输出结果
循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。
八、helloworld
创建一个文件hello.js,代码采用es5编写
//console.log("hello world");
启动一个服务器
"/favicon.ico"
打印两次helloworld
九、模块和包管理工具
commonJS规范
根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。
依赖关系 定义 .js文件
命名空间 纠结的编程体验 暴露接口
代码组织 引用
modules/pakages/system/filestems/binary/console/encodings/sockets/unit test...
不同于jQuery,CommonJs是一套规范
规范与实现的互为促进
nodeJS、Webpack都基于CommonJS规范,区别于AMD/CMD---require.js/sea.js
使用npm install 来安装模块
使用镜像安装 cnpm install
案例展现
十、NPM使用
全局安装:相当于windows系统环境变量的配置
本地安装:不加后缀
安装:install
卸载:uninstall
安装模块:npm install n -g
升级node:n stable
安装Forever:cnpm install forever -g
本地安装underscore:cnpm install underscore
查看模块版本号:cnpm info underscore
十一、常见的端口号和匹配
https端口号:443
http端口:80
obj[str] == obj.str //对str进行匹配,结合下面的公式
try...catch的使用
try{
obj[str](req,res)
}catch(err){
obj['home'](req,res)
}
十二、node核心模块
1. http模块:作用:处理客户端的网络请求
2. url模块:作用:处理客户端请求过来的URL
3. Query strings模块:作用:处理客户端通过`get/post`请求传递过来的参数
4. File System模块:作用:在服务端来操作文件,可能是需要将浏览器上传的图片保存到服务器,也可能是需要将服务器的资源读取之后返给浏览器
5. path模块:作用:操作文件的路径,为文件操作服务
6. Globle模块:作用:全局共享的,不需要导入模块即可以使用
十三、node请求参数的三种方式
1,req.query(查询get请求中的参数)
2,req.body(查询请求体)
3,req.params
4,req.params(name)
注意传中文是记得转码:
使用 encodeURI(req.query.id)

猜你喜欢

转载自blog.csdn.net/qq_40513881/article/details/79377096