node.js基础入门-2

1、文件操作:*fs模块-->操作文件-->io-->node的特长fs模块是node非常重要的模块,能体现出node的优势

- fs.readFile()  读文件
- fs.writeFile()  写文件
- fs.appendFile() 在文件的内部去追加写一些内容
- fs.mkdir() 创建文件夹
- fs.readdir() 读文件夹
- fs.access() 判断路径
- fs.stat()
 isFile:用于判断被查看的对象是否为一个文件,如果是返回true,否则,返回false;
 isDirectory:用于判断被查看的对象是否为一个目录,如果是的话则返回true,否则,返回false;
 isBlockDevice:用于判断被查看的文件是否为一个块设备文件,如果是的话则返回true,否则,返回false(仅在Unix操作系统下有效);
 isCharacterDevice:用于判断被查看的文件是否为一个字符设备文件,如果是的话则返回true,否则,返回false(仅在Unix操作系统下有效);
 isSymbolicLink:用于判断被查看的文件是否为一个符号链接文件,如果是的话则返回true,否则,返回false。该方法仅在lstat方法的回调函数中有效;
 isFIFO:用于判断被查看的文件是否为一个FIFO,如果是的话则返回true,否则,返回false(仅在Unix操作系统下有效);
 isSocket:用于判断被查看的文件是否为一个socket文件,如果是的话则返回true,否则,返回false(仅在Unix操作系统下有效);

2、创建 HTTP 服务器

`http.createServer([requestListener])`

- 通过监听Event: 'request'来进行
server.on('request',(request,response) => {});

- request、response对象
request对象,用于接收请求报文内的信息
response对象,用于返回响应报文内的信息

- response.write()
write方法用于向响应体里写内容,用于向客户端发送信息,可以被多次使用

- response.end()
在一次请求和响应过程当中,只要调用了  end 就不能再继续 write 了
就说明你是在一次请求和响应处理过程中已经结束了响应,但是又去 向客户端发送数据
这个时候就会报错

- server.listen(port[, hostname][, backlog][, callback]) 
监听端口,执行这句,服务正式被启动使用
server.listen(3000,'127.0.0.1',() => {
  console.log('server is listening at port 3000');
});

### request
- request.headers 请求头
- request.method 请求方法
- request.url 请求路径
- request.httpVersion 请求HTTP协议版本


### response
- res.writeHead(200,{'Content-Type': 'text/html; charset=utf-8'});
  设置响应报文头
- res.write('<h1>hello world</h1>');
- res.end();

### Content-Type
内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,
决定文件接收方将以什么形式、什么编码读取这个文
### 通过 req.url和req.method的不同给出不同的响应
  if (req.url == '/' && req.method == 'GET') {
    res.writeHead(200, {
      'Content-Type': 'text/html; charset=utf-8'
    });
    res.write('<h1>首页</h1>');
    res.end();
  }
### request通过data事件和end事件来接收post的数据


···let data = '';
req.on('data', (chunk) => {
      data += chunk;
});  
 req.on('end', () => {
      console.log(data);
      res.writeHead(200, {
        'Content-Type': 'text/html; charset=utf-8'
      });
      res.write('<h1>收到数据了</h1>');
      res.end();
 });···
### 通过 querystring解析post的数据

···querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns { foo: 'bar', baz: ['qux', 'quux'], corge: '' }···
### url
- url.parse(urlStr, [parseQueryString], [slashesDenoteHost])
urlStr->url字符串
parseQueryString->为true时将使用queryString分析查询字符串,默认为false
slashesDenoteHost               
默认为false,//foo/bar 形式的字符串将被解释成 { pathname: ‘//foo/bar' }
如果设置成true,//foo/bar 形式的字符串将被解释成  { host: ‘foo', pathname: ‘/bar' }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值