node.js 学习02
Posted hello world
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js 学习02相关的知识,希望对你有一定的参考价值。
读写文件中的路径问题
readFile()读取文件函数中的./(相对路径)这个参数,相对的是执行node命令的路径,而不是相对于正在执行的这个js文件来查找。为了解决这个问题:
__dirname(两个下划线):表示当前正在执行的js文件所在的目录
__filename:表示当前正在执行的js文件的完整路径
let filename = __dirname+‘\‘+‘hello.txt‘
上面的代码中:‘‘的第一个表示转义字符,hello.txt表示的是要读取的文件通过path模块进行路径拼接
- 使用path模块进行路径拼接的好处:不用来考虑操作系统的兼容性
let path = require(‘path‘); let filename = path.join(__dirname,‘hello.txt‘);
通过fs模块创建文件夹
例如创建fs文件夹,fs文件夹下面有“笔记”文件夹
let fs = require(‘fs‘); fs.mkdir(‘./fs‘,function(err){ if(err){ throw err; } }); fs.mkdir(‘./fs/笔记‘,function(err){ if(err){ throw err; } });
需要注意的一些问题
- 异步操作无法通过try-catch来捕获异常,需要通过判断err来判断是否出错。
- 同步操作可以通过try-catch来捕获异常。
- 不要使用
fs.exists(path,callback)
来判断文件是否存在,直接判断error即可。 - 文件操作时的路径问题
- 在读写文件的时候‘./’表示的是当前执行node命令的那个路径,不是被执行的js文件的路径。
- __dirname 表示的永远是“当前被执行的js的目录”
- __filename 表示的是“被执行的js的文件名(含路径)”
通过node.js编写http服务程序,极简版本
步骤
- 加载http模块
- 创建http服务
- 为http服务对象添加request事件处理程序
开启http服务监听,准备接收客户端请求
`
//http服务程序//1.加载http服务
let http = require(‘http‘);//2.创建一个http服务对象
let server = http.createServer();//3.监听用户的请求事件
//request 对象包含了用户请求报文中的所有内容,通过request对象可以获取所有用户提交过来的数据
//response 对象用来向用户相应一些数据,当服务器要向客户端响应数据的时候必须使用response对象
//request 简写为req response简写为res
server.on(‘request‘,function(req,res){
//向浏览器传回响应
res.write(‘hello world‘);
//对于每一个请求服务器都必须结束响应,否则的话浏览器会认为服务器响应一只没有结束、
res.end();
})//4.启动服务
server.listen(8080,function(){
console.log(‘服务器启动了,请访问“http://localhost:8080”‘);
})`
以上是关于node.js 学习02的主要内容,如果未能解决你的问题,请参考以下文章