目录
浏览器中的JavaScript
核心语法
变量、数据类型/循环、分支、判断/函数、作用域、this/etc...
WebAPI
DOM操作/BOM操作/基于XMLHttpRequest的Ajax操作/etc...
浏览器的JavaScript运行环境
v8引擎负责解析和执行JavaScript代码
内置API是由运行环境提供特殊接口,只能在所属的运行环境中被调用
【Node.js简介】
1· 浏览器是JavaScript的前端运行环境
2· Node.js是JavaScript的后端运行环境
3·Node.js中无法调用DOM和BOM浏览器内置API
【Node.js 用处】
借助Node.js可做后端开发
掌握JavaScript的基础学法+Node.js内置模块(fs.path.http...)+第三方API模块
[node -v 查询Node.js的版本号]
[cls 清屏]
【使用fs模块读写操作文件】
fs.readFile()方法,用来读取指定文件中的内容
fs.readFile(path,[options],callback)
参数1:必选参数,字符串,表示文件的路径
参数2:可选参数,表示以什么编码格式来读取文件
参数3:必须参数,文件读取完成后,通过回调函数拿到读取结果
判断是否读取成功
fs.readFile('./files/1.txt','utf-8',function(err,dataStr){
if(err){
return console.log('文件读取失败!'+err.message)
}
console.log('文件读取成功!内容是:'+dataStr)
})
fs.writeFile()方法,用来读向指定文件中写入内容
fs.writeFile(path,data,[options],callback)
参数1:必选参数,需要指定一个文件路劲的字符串,表示文件的存放路径
参数2:必选参数,表示要写入的内容
参数3:可选参数,表示以什么格式写入文件内容,默认utf-8
参数4:必选参数,文件写入完成后的回调函数
判断是否写入成功
fs.readFile('./files/1.txt','utf-8',function(err){
if(err){
return console.log('文件写入失败!'+err.message)
}
console.log('文件写入成功!')
})
fs中路径出现问题
出现的问题: ./和../为开头的相对路径 ,容易出现路径动态拼接错误的问题
解决问题的方法:
//提供完整的文件存放路径 /从盘符开始
D:\\前端学习\\Node.js全套入门教程\\code\\1.js 缺点:移植性差,不利于维护
fs.readFile('D:\\前端学习\\Node.js全套入门教程\\code\\1.js','utf-8',function(err,dataStr){
if(err){
return console.log('文件读取失败!'+err.message)
}
console.log('文件读取成功!内容是:'+dataStr)
})
//__dirname 表示当前文件所处的目路
__dirname+'/files/1.txt' 通过拼接路径
【使用path模块处理路径】
path.join()方法,用来将多个路径片段拼接成一个完整的路径片段
const pathStr=path.join('/a','/b/c','../','./d','e') // ../会将上级的目录折叠起来
//输出的目录则是\a\b\d\e
console.log(pathStr)
const pathStr=path.join(__dirname,'/files/1.txt')
path.basename()方法,用来从路径字符串中,将文件名解析出来
path.extname()方法,获取路径中的文件扩展名
path.extname(path)
[/.../:正则表达式 \s:表示空白符 \S:表示非空白符 *:表示匹配任意次]
【使用http模块写一个基本的服务器】
概念:Node.js光放提供,用来创建web服务器模块,通过http.createServer()方法
IP地址:(a,b,c,d)的形式,都是0~255之间的十进制整数。
127.0.01
端口号:每个web服务器都对应唯一一个端口号;
创建web服务器基本步骤:
1.导入http模块:
const http=require('http')
2.创建web服务器实例
const server=http.createServer()
3.为服务器实力绑定request事件,监听客户需求
server.on('request',function(req.res){
console.log('Someone visit our web server.')
})
4.启动服务器
server.listen(80.function(){
console.log('server running at http:/127.0.0.1:80')
})
ctrl+c停止服务器 80端口号可以省略
[req请求对象]
包含了客户端相关地址数据和属性
req.url是客户请求的url地址
req.method是客户请求的method类型
[res响应对象]
res.end()方法,向客户端响应一些内容
[解决中文乱码的问题]
调用res.setHeader()方法,设置Content-Type响应头
[根据不同的url响应不同的html内容]