node常用模块

node模块

node中文官网

node淘宝镜像

npx http-server 它是一个快速搭建本地路由的命令,也就是一个本地的server,相当于

const http =require('http')
const server = http.createServer((req,res)=>{
	let url =request.url //将请求的url传给后端
	response.write(url)//写入url
	response.end()//如果不写end他就会一直等
	//或者这种简写
	response.end(url)//这样写的话第二行就可以省略
})
server.listen(8090,'127.0.0.1',()=>{
	console.log('服务器启动成功')
})

node的一些内置模块
网络通信(http,https

	const http=require('http')
	http.get('地址',(res)=>{
		let str=''
		res.on('data',(chunk)=>{str+=chunk}),
		res.on('end',()=>{console.log(str)})//nodejs可以访问一个跨域的请求
	})

文件读写(fs

//创建文件
const fs =require('fs')
fs.write('文件写在哪','内容',(err,data)=>{//读写文件执行的错误优先的回调,也就是第一个是错误的回调函数
	if(err){
	}else{
		console.log('文件创建成功')
	}
})

进程的管理(process)

console.log(process.argv);//就是当前的文件路径进程

在这里插入图片描述

路径(path

  • 获取路径:path.dirname(filepath)
  • 获取文件名:path.basename(filepath)
  • 获取扩展名:path.extname(filepath)
1.1 获取路径 path.dirname()
const path = require('path');

path.dirname('/foo/bar/baz/a.js');
// 返回: '/foo/bar/baz'
获取文件名 path.basename()
var path = require('path');

// test.js
console.log( path.basename('/tmp/demo/js/test.js') );
// test
console.log( path.basename('/tmp/demo/js/test.js','js') ); //使用两个参数去掉后缀
//test
console.log( path.basename('/tmp/demo/js/test/') );

// test
console.log( path.basename('/tmp/demo/js/test') );
1.3 获取文件扩展名 path.extname()

绝对路径也被成为盘符路径 相对路径是相对于当前文件的路径

从后面的 . 点开始截取 比如index. 返回. ,index返回 空""

var path = require('path');
var filepath = '/tmp/demo/js/test.js';

// 输出:.js
console.log( path.extname(filepath));
1.4路径拼接path.join() path.resolve()

path.join()

//空的或者'/'&&'./'拼接  '../'拼接路劲的上一个路径 
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// 返回: '/foo/bar/baz/asdf'

path.join('/foo', 'bar', 'baz/asdf', 'quux', '.');
// 返回: '/foo/bar/baz/asdf/quux'

path.join('/foo', '/bar', 'baz/asdf', 'quux');
// 返回: '/foo/bar/baz/asdf/quux'

path.join('/foo', '//bar', 'baz/asdf', 'quux');
// 返回: '/foo/bar/baz/asdf/quux'

path.join('/foo', './bar', 'baz/asdf', 'quux');
// 返回: '/foo/bar/baz/asdf/quux'

path.join('/foo', '../bar', 'baz/asdf', 'quux');
// 返回: '/foo/baz/asdf/quux'

path.resolve()
path.resolve() 方法会把一个路径或路径片段的序列解析为一个 绝对路径。

//'./'跟没有是直接拼接 '/'不拼接 '../'拼接上一级
path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 则返回 '/wwwroot/static_files/gif/image.gif'
1.5 path.normalize(path)

path.normalize(path) 方法会规范化给定的 path,并解析 ‘…’ 和 ‘.’ 片段

  • 当发现多个连续的路径分隔符时(如 POSIX 上的 / 与 Windows 上的 \ 或 /),它们会被单个的路径分隔符来代替。
  • 末尾的多个分隔符会被保留。
  • 如果 path 是一个空字符串,则返回 ‘.’,表示当前工作目录。
//注意事项跟前几个差不多,'/''/.'都是保留当前目录'../'返回上级目录 
//注意'//'解析一个'/'
path.normalize('/foo/bar//baz/asdf/quux/..');
// 返回: '/foo/bar/baz/asdf',解析了 .. ,返回了上一层目录

path.normalize('/foo/bar//baz/asdf/quux/.');
// 返回: '/foo/bar/baz/asdf/quux',解析了 . 

path.normalize('/foo/bar//baz/asdf/quux/');
// 返回: '/foo/bar/baz/asdf/quux/'

path.normalize('/foo/bar//baz/asdf/quux//');
// 返回: '/foo/bar/baz/asdf/quux/', 末尾的多个分隔符,只保留了一个

path.normalize('');
// 返回:'.',表示当前工作目录

1.6 path.parse(path)

path.parse()方法返回一个对象,对象的属性表示 path 的元素。 尾部文件分隔符会被忽略。

path.parse('/home/user/dir/file.txt');
// 返回:
// { root: '/',
//   dir: '/home/user/dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file' }

1.7 path.format(pathObject)

path.format() 方法会从一个对象返回一个路径字符串。 与 path.parse() 相反。

  • 当 pathObject 提供的属性有组合时,有些属性的优先级比其他的高:
    -如果提供了 pathObject.dir, 则 pathObject.root 会被忽略;
    -如果提供了 pathObject.base 存在,则 pathObject.ext 和 pathObject.name 会被忽略
// 如果提供了 `dir`、`root` 和 `base`,则返回 `${dir}${path.sep}${base}`。
// `root` 会被忽略。
path.format({
  root: '/ignored',
  dir: '/home/user/dir',
  base: 'file.txt'
});
// 返回: '/home/user/dir/file.txt'

// 如果没有指定 `dir`,则 `root` 会被使用。
// 如果只提供了 `root` 或 `dir` 等于 `root`,则平台的分隔符不会被包含。
// `ext` 会被忽略。
path.format({
  root: '/',
  base: 'file.txt',
  ext: 'ignored'
});
// 返回: '/file.txt'

// 如果没有指定 `base`,则 `name` + `ext` 会被使用。
path.format({
  root: '/',
  name: 'file',
  ext: '.txt'
});
// 返回: '/file.txt'
path.relative(from, to)获取相对路径

从 from 路径,到 to 路径的相对路径(基于当前工作目录)

  • 如果from, to 指向同个路径,那么返回空字符串;
  • 如果from, to 中任一者为空,则当前工作目录会被用于代替空字符串
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// 返回: '../../impl/bbb'

path.relative('/data/orandea', '/data/orandea');
// 返回: ''

path.relative('./path.md', '');
// 返回: '..'
判断是否为绝对路径 path.isAbsolute(path)

path.isAbsolute()方法会判定 path 是否为一个绝对路径。

如果给定的 path 是一个长度为零的字符串,则返回 false

path.isAbsolute('/foo/bar'); // true
path.isAbsolute('/baz/..');  // true
path.isAbsolute('qux/');     // false
path.isAbsolute('.');        // false
fs文件模块

在这里插入图片描述
通过读取路径来读取文件内容

fs.writeFile 写入文件,第一个参数文件名,第二个参数写入内容,第三个回调(失败回调)
fs.stat获取文件状态
fs.unlink删除文件

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菜鸟学代码··

给打赏的我会单独一对一讲解

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值