node.js入门(二)

    科技2025-07-29  12

    一、模块

    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)

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

     

     

    Processed: 0.026, SQL: 8