node.js入门(二)

一、模块

1、require:引入模块

(1)自定义模块:自己写的每一个文件就是一个自定义模块。

require('./hello.js')

(2)第三方模块:别人写的模块,使用npm安装别人的模块。

nmp install 包名称

(3)系统模块:fs,http等系统提供的模块。

2、exports:暴露模块

(1)hello.js暴露:

var name = "zhangsan";
//暴露模块的name
module.exports.name = name;

(2)main.js引入:

var hello  = require('./hello.js');
var http = require("http");
http.createServer(function(request, response) {  
    response.writeHead(200, {"Content-Type": "text/plain;charset=utf-8"});  
    response.write(hello.name)  
    response.end();
}).listen(8888);

二、http发起请求


1、创建http模块

var http = require("http");

2、获取推流的数据

http.get('http://www.baidu.com/',function(res){
	//真正拿到的东西是需要data事件的
	res.on('data',function(txt){
		console.log(txt);
	});
})

http.createServer(function(request, response) {  

}).listen(8888);

3、获取网页数据

http.get('http://www.baidu.com/', function (res) {
    var html = '';
    //1、data事件
    res.on('data', function (txt) {
        // console.log(txt.toString());
        // console.log('-------')
        //字节数
        console.log(txt.length)
        html+=txt;
    });
    //2、end事件
    res.on('end',function () {
        console.log(html)
    })
})

三、文件读取

1、进入文件系统模块

const fs = require('fs');

2、使用fs系统模块的方法读取文件,异步读取

fs.readFile('../file.txt',(err, data) => {
    console.log(err);
    console.log(data.toString());
})

3、同步方法

const file = fs.readFileSync('../file.txt');
console.log(file.toString())

四、文件写入

let fs = require('fs');
const data = '今天发生了一件大事5454454545454545';
fs.writeFile("../file2.txt", data, error => {
    if (error) {
        throw error;
    } else {
        console.log('写入完成');
    }
})

五、删除数据

let fs = require('fs');
fs.unlinkSync('../file2.txt')

六、创建流

let fs = require('fs')
//创建可以读取的流
let stream = fs.createReadStream('../file.txt');
//监听data事件
stream.on('data', chunk => {
    console.log(chunk)
})
//end事件
stream.on('end',() => {
    console.log('文件读取完毕')
})
//err事件
stream.on('error',err => {
    console.log('文件读取出错')
})

七、写入流

let fs = require('fs');
let writeStream = fs.createWriteStream("../file3.txt");
writeStream.write("啦啦啦啦,我是财校呢发顺丰撒","utf-8")
writeStream.end();
writeStream.on('finish',() => {
    console.log("写完了")
})

八、管道

let fs = require('fs');
let s1 = fs.createReadStream('../file3.txt');
let s2 = fs.createWriteStream('../file5.txt');
s1.pipe(s2)

管道可以实现文件的复制。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值