nodejs的基础用法

1. nodejs

node js 是运行与服务端的js,是事件驱动I/O;集成谷歌的V8引擎
node js开发服务端

2. 模块

node js的模块 模块的导入和导出 使用CommonJs规范

  • 内置模块(node js 原生提供)可以直接使用
  • 第三方模块(需要先下载安装然后使用)
  • 自定义模块(类似于es6的模块,需要定义模块,进行模块的导入和导出)

2.1 模块的导入require()

1.导入内置模块

const http = require('http')

2.导入第三方模块

npm install 模块名 --save 
const 变量名 = require('模块名')   变量名尽量和模块名保持一致

3, 导入自定义模块
定义模块

 通过 module.exports = {} 导出模块
 通过 exports.key = value 导出模块

引入模块

 const 变量名 = require('./模块文件名')

js和node js 的区别

js: 运行在浏览器中的脚本语言

  • 缺点:不能直接操作电脑上的文件

node js : 运行在服务器端的js

  • nodejs 的fs文件系统。 可以对电脑上的文件进行操作(增删改查)

node js常见的命令行操作

  • cd 文件夹名 进入文件夹
  • cd … 返回上一级
  • mkdir 文件夹名 常见文件夹

命令的历史记录:
通过 上下箭头 可以查看历史记录

3.搭建服务器

// 引用创建http的模板
var http = require('http');
//开始搭建服务器
http.createServer(function (req, res) {
    //设置中文乱码
    res.writeHead(200,{'Content-type':'text/plain;charset=utf-8'})
    //在页面输出内容
    res.write(' 一去二三里 '); 
    //结束
    res.end();
}).listen(3000, () => {  //设置端口,并添加服务器开启后的响应
    console.log('开启');
});

4. 文件系统

//对txt 的增删改查
//1.添加文件模块
const fs = require("fs");

//2.读取
fs.readFile("./text.txt", (err, result) => {
    if (err) {
        console.log(err);
        return
    }
    console.log(result.toString());
})

//3.修改,文件名不对,会新建进行填写,覆盖填写
fs.writeFile("./text1.txt","一去二三里",(err)=>{
    console.log(err);
})

//4.添加,文件名不对,会新建进行填写,追加填写
fs.appendFile("./text2.txt",'hello world',(err)=>{
    console.log(err);
})

// 5.删除,
fs.unlink("./text1.txt",(err)=>{
    console.log(err);
})

// 6.重命名
fs.rename("./and", "and.txt", (err) => {
    console.log(err);
})

5.读流 写流 管道流

//先写入数据
const fs = require('fs');
 for (let i = 0; i < 100000; i++) {
     fs.appendFile('./and.txt', `我是写入数据啊${i}\n`, (err) => {

     })

 }

// 创建一个读流
const readeStream = fs.createReadStream('./and.txt');
var num = 0;
//监听 事件的改变
readeStream.on('data', (chunk) => {
    num++;
    console.log(num);
})
// 监听事件的结束
readeStream.on('end',()=>{
    console.log('结束');
})

//监听 读流失败的事件 error
readeStream.on('error',()=>{
    console.log('duang失败了');
})

// 创建一个写流
const writeStream = fs.createWriteStream('./aa.txt');
//写入数据
writeStream.write('这里是写入数据', 'utf8');
//写入结束
writeStream.end();
//反馈状态
writeStream.on('finish', () => {
    console.log('写入完成');
})

//管道流 pipe()
//创建一个读流
const readeStream = fs.createReadStream('./and.txt');
//创建一个写流
const writeStream = fs.createWriteStream('./aa.txt');
//通过管道流进行传输
readeStream.pipe(writeStream);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值