1.安装node.js环境
2.node.js环境中的模块
ps:在node.js环境中 有两个全局变量 __dirname __filename
1.他们保存的是字符串
2.__dirname 当前js文件所在的目录:绝对路径 文件夹(directory)
__filename 当前js文件的目录:绝对路径
1.http模块: 用来创建后端服务器
语法:1.声明一个变量然后用require引入http模块
var http=require(“http”)
2.创建一个服务器对象,设置一个回调函数
var app=http.createServer((req,res)=>{})req是请求,res是响应
3.配置数据包个数据格式和编码类型
res.setHeader(“content-Type”,”text/html;charset=utf8″)
2.fs模块:读取文件
1.声明一个变量然后用require引入fs模块
var fs=require(“fs”)
2.调用fs模块中的readFile方法读取文件
fs.readFile(“文件路径”,(err,data)=>{}) err是报错,data是数据包
3.url模块:把url网址解析为一个对象
网址的组成: 协议 域名 pathname querystring hash
1.声明一个变量然后用require引入url模块
var url=require(“url”)
2.声明变量赋值为使用url的parse方法获得的pathname
var path=url.parse(req.url).pathname
3.读取文件是将文件路径用全局变量和声明的保存了网址相对路径的变量来代替
fs.readFile(__dirname + path, (err, data) => {})
4.mime模块:获取文件的数据类型(需要下载mime数据包,然后引入)
1.声明一个变量然后用require引入url模块
var mime=require(“mime”)
2.声明变量赋值为使用mime中getType方法获取的网址的数据类型获取
let type1=mime.getType(path)
5.querystring模块:把querystring参数解析为一个对象
1.声明一个变量然后用require引入querystring模块
var querystring=require(“querystring”)
2.声明变量赋值为用户输入的一些querystring参数解析的对象
let queryobj=querystring.parse(urlobj.query)
2.各种路径
1.本地相对路径:./当前文件所在文件夹/当前文件
2.本地绝对路径:从根盘符开始写路径–C:/xx/xxx//当前文件所在文件夹/当前文件
3.相对网络路径:当前页面的网址–./当前文件所在文件夹/当前文件
4.绝对网络路径:从协议还是写路径–协议://ip:port/xxx/当前文件所在文件夹/当前文件
5.本地相对根路径:从本地根盘开始写路径–C:/当前文件所在文件夹/当前文件
6.网络相对根路径:从网址域名开始写路径–协议://ip:port/当前文件所在文件夹/当前文件
网页加载(从网络方面分析)
1.1浏览器的地址栏 输入的网址 敲回车 会请求一次服务器
服务器会返回一个数据包 就是网页代码(html格式的文本文档)
1.2浏览器开始去运行解析html文本(此时还没有外部 图片,js,css,字体库资源)
1.2.1解析时 遇到了 img标签的src属性 会异步的 开始再次网络请求服务器 ,服务器返回数据包(图片编码) 然后渲染出来
1.2.2解析时 遇到了link-href 会异步的 开始再次网络请求服务器 ,服务器返回数据包(css编码) 然后加载
1.2.3解析时 xxxx-url会异步的 开始再次网络请求服务器 ,服务器返回数据包(对应编码) 然后加载
1.2.4解析时script-src会异步的 开始再次网络请求服务器 ,服务器返回数据包(js编码) 然后用js引擎去执行编码
1.3所有资源加载完毕了 才会触发window.onload