node.js 的 认识

本文详细介绍Node.js的基础应用,包括创建web服务器,使用流处理文件读写、复制、压缩与解压,以及模块系统的使用方法。通过实例演示了如何在Node.js环境中进行文件操作和模块引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个小应用

//加载  web模块

const http=require('http');

cs= function(req,res){
	res.writeHead(200, {'Content-Type': 'text/plain'});   // 这个 是请求头 防止乱码
	res.write("<h1>hello world</h1>");
	res.end();   // 告诉浏览器 程序执行完成 
}

http.createServer(cs).listen(888);

console.log("success");


// 控制台会输出  success;

浏览器打开 localhost:888 端口 会输出  hello word;

Node.js Stream(流)

示例文件下载地址: http://lhy.xningf.com/file.zip

读取文件:

var fs = require("fs");
var data = '';

// 创建可读流
var readerStream = fs.createReadStream('text.txt');

// 设置编码为 utf8。
readerStream.setEncoding('UTF8');

// 处理流事件 --> data, end, and error
readerStream.on('data', function(chunk) {
   data += chunk;
});

readerStream.on('end',function(){
   console.log(data);
});

readerStream.on('error', function(err){
   console.log(err.stack);
});

console.log("程序执行完毕");

// 最后执行结果是 text.txt 中的内容;

写入文件:

var fs = require("fs");
var data = '要写入的内容';
var writerStream  = fs.createWriteStream('newFile.txt');

// 写入内容 用utf8 格式。
writerStream.write(data,'utf8');

// 标记文件结束
writerStream.end();


//  文件成功后的 操作
writerStream.on('finish',function(){
	console.log("写入文件成功");
})
// 处理流事件 --> data, end, and error
writerStream.on('error', function(err) {
   console.log(err.stack);
});


console.log("程序执行完毕");

复制文件:

var fs = require("fs");

var readStream = fs.createReadStream('text.txt'); 

var writerStream  = fs.createWriteStream('newFile.txt');

// 读取 readStream 的内容 写入到 writerStream 中
readStream.pipe(writerStream);

console.log("程序执行完毕");

压缩文件:

// 压缩文件

var fs = require("fs");
// fs 是文件操作;
// 
var zlib = require("zlib");
fs.createReadStream('newFile.txt')
	.pipe(zlib.createGzip())
	.pipe(fs.createWriteStream('newFile.txt.gz'));

console.log("文件压缩成功");

return;

解压文件:

// 解压文件
var fs = require("fs");
// fs 是文件操作;
// 
var zlib = require("zlib");

fs.createReadStream('newFile.txt.gz')
  .pipe(zlib.createGunzip())
  .pipe(fs.createWriteStream('newFile2.txt'));
  
console.log("文件解压完成。");
return;

Node.js模块系统

文件之间 引用

index.js 引用 modes.js 中的文件

// modes.js  中  
showOne = () =>{
	console.log("one");
}

showTwo =() => {
	console.log("this is two !");
}
// 定义 两个方法;

module.exports={
	//  抛出 被引用的方法
	showOne,showTwo
}


// index.js 中

var show = require('./modes');

show.showOne();

show.showTwo();

// 调用两个方法



调用构造函数

index.js 中 
var show = require('./modes');   // 包含 modes 文件

showName = new show.show2();  //   实例化  modes  中 的  show2 方法   当然 也可以调用 方法一的 

showName.setName("是我呀"); // 调用 实例化方法 中的插入名字
showName.sayName();       // 调用  实例化方法中 的读取名字


modes.js 中 

// 这个是 方法 1 
function show(){
	var name;
	this.setName = function(thyName){
		name = thyName;
	};
	this.sayName = function(){
		console.log(name);
	}
}
// 这个是方法2
function show2(){
	var name;
	this.setName = (thyName) =>{
		name = thyName;
	};
	this.sayName = () =>{
		console.log(name);
	} 
}
module.exports= {
	show2,show     // 抛出方法
};

node.js 的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值