path-is-absolute 源码解析(Deprecated)

news/2024/7/10 5:44:56 标签: path, nodejs, polyfill
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">path>

pathisabsolute_Deprecated_0">path-is-absolute 源码解析(Deprecated)

文章目录

  • path-is-absolute 源码解析(Deprecated)
  • 正文
    • 0. 基本信息
    • 1. 源码解析
  • 其他资源
    • 参考连接
    • 阅读笔记参考

正文

0. 基本信息

  • version:v2.0.0
  • 功能:NodeJS 的 path 模块 isAbsolute 方法的 polyfill

1. 源码解析

其实可以看到作者的源码基本也是参考 NodeJS 的源码,这应该是比较早期的库了,基本上我们直接用 Node 或是主动 install 官方的 path 模块就行了,看看就好

  • index.js(阅读笔记:index.js
'use strict';

function posix(path) {
  return path.charAt(0) === '/';
}

function win32(path) {
  // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
  var splitDeviceRe = /^([a-zA-Z]:|[\\/]{2}[^\\/]+[\\/]+[^\\/]+)?([\\/])?([\s\S]*?)$/;
  var result = splitDeviceRe.exec(path);
  var device = result[1] || '';
  var isUnc = Boolean(device && device.charAt(1) !== ':');

  // UNC paths are always absolute
  return Boolean(result[2] || isUnc);
}

module.exports = process.platform === 'win32' ? win32 : posix;
module.exports.posix = posix;
module.exports.win32 = win32;

其他资源

参考连接

TitleLink
path-is-absolute - npmhttps://www.npmjs.com/package/path-is-absolute
sindresorhus/path-is-absolute - Githubhttps://github.com/sindresorhus/path-is-absolute
path.isAbsolute - NodeJShttps://nodejs.org/api/path.html#path_path_isabsolute_path

阅读笔记参考

https://github.com/superfreeeee/Blog-code/tree/main/source_code_research/path-is-absolute-2.0.0


http://www.niftyadmin.cn/n/735121.html

相关文章

inflight 源码解析

inflight 源码解析 文章目录inflight 源码解析正文0. 基本信息1. 源码解析1.0 源码结构1.1 主入口 inflight1.2 启动函数创建着 makeres其他资源参考连接阅读笔记参考正文 0. 基本信息 version&#xff1a;v1.0.6功能&#xff1a;收集多个回调函数并返回只执行一次的启动函数…

利用爷爷盒子切孙子盒子的方法

转载于:https://www.cnblogs.com/jinlonghu/p/9166450.html

is-path-cwd 源码解析(Npm library)

is-path-cwd 源码解析(Npm library) 文章目录is-path-cwd 源码解析(Npm library)正文0. 基本信息1. 源码解析其他资源参考连接阅读笔记参考正文 0. 基本信息 version&#xff1a;v3.0.0功能&#xff1a;检查字符串是否为当前工作目录&#xff08;与 process.cwd 比较&#xf…

01、Mybatis的三剑客

Mybatis-Generator 简介 Mybatis属于半自动ORM&#xff0c;在使用这个框架中&#xff0c;工作量最大的就是书写Mapping的映射文件&#xff0c;由于手动书写很容易出错&#xff0c;我们可以利用Mybatis-Generator来帮我们自动生成文件(Mapper文件、Dao接口、JavaBean&#xff09…

JS Web API: NetworkInformation 网络状况 API

JS Web API: NetworkInformation 网络状况 API 文章目录JS Web API: NetworkInformation 网络状况 API正文0. 基本信息1. 相关 API2. 代码实现3. 最终效果其他资源参考连接完整代码示例正文 0. 基本信息 今天要给大家讲解的是利用浏览器的 WebAPI 来获取当前用户的网络状况&a…

Spring Boot中日志每日分割

为什么80%的码农都做不了架构师&#xff1f;>>> 问题 想使用Spring Boot中日志输出&#xff0c;这样以后遇到问题&#xff0c;就可以翻看日志数据&#xff0c;看看程序运行的过程&#xff0c;便于排查错误。 logback基础配置 logback-spring.xml <?xml version…

Rust 实战: 启动多线程 Web 服务

Rust 实战: 启动多线程 Web 服务 文章目录Rust 实战: 启动多线程 Web 服务正文0. 基本信息1. 监听 TCP 连接请求2. 创建多线程运行环境2.1 线程池 ThreadPool2.2 任务执行 Worker3. 运行效果其他资源参考连接完整代码示例正文 0. 基本信息 Rust 语言内置提供了 TcpListener 的…

SpringBoot java.lang.IllegalArgumentException: Request header is too large

在application.properties##tomcat 请求设置server.max-http-header-size1048576server.tomcat.max-connections3000server.tomcat.max-http-post-size1048576server.tomcat.max-threads1000