node.js简介
node.js 简单的说就是运行在服务端的javascript
- node.js 底层由c++语言编写
- node.js 上层由javascript语言编写
优势:
- 性能高(是php的86倍)
- 门槛低:使用js语法
缺点:
- 兼容平台少
- 学习成本高(学习资源少)
node的安装
官网:
- nodejs.org 国外站点
- nodejs.cn 国内站点
版本推荐:
- LTS 推荐版 ==> (其中版本号中第二位是偶数代表稳定版 奇数代表非稳定版)
- 例如:v7.6.x 稳定版
- 例如:v7.7.x 非稳定版
- CURRENT 最新版
拓展: 软件版本号 a.b.c
- a:重大版本修改
- b:功能点的改动
- c:小bug的修改
注意:因为node完美支持ES6,所以在node环境中可以使用ES6的所有语法
服务器相关
服务器命名规则
文件名称不要用node
服务器url构成:
- 协议 http/https
- 域名 localhost
- 端口 0-25535(可用端口) 0-1024(系统占用)
http的默认的端口号为80
https的默认端口号为443
服务器代码修改,要重新启动服务器
指令如下:
- ctrl+c 终止命令
- node 02server.js 启动服务器
开启服务
在node中,所有功能均已被封装成模块,默认使用模块化开发
其中开启服务中需要用到的模块:
- http模块:用来开启服务
- fs模块:用来操作模块
- url模块:用来解析url
- querystring模块:用来解析url携带的数据
http模块
const http = require('http'); //引入http模块 const server = http.createServer( function (req, res) { //基于http模块 开启服务器 res.writeHead(200,{ //设置字符编码 - 设置文本的解析形式 200表示请求成功 'Content-Type':'text/html;charset=utf-8' }) res.write('<h2>你好</h2>'); res.end(); //结束请求 有且只能有一个,还要加到请求语句的最后 // console.log(req.url); if(req.url !== '/favicon.ico'){ //过滤浏览器标签小图标的请求 console.log(req.url); } }); server.listen(3000); //监听端口号为3000
fs模块
语法如下;
fs.resdFile(path, 'utf-8', (err,data) ==> {})
const fs = require('fs') fs.readFile('./测试.html', 'utf-8', (err, data) => { if (err) { console.log(err) }else{ console.log(data) } })