webpack源码分析——enhanced-resolve库之cdUp函数

ops/2024/11/13 9:26:21/

一、 cdUp函数

函数功能

该函数寻找上层目录,每次调用函数时对输入的路径进行一次寻找上级目录。如果没有找到返回null

二、函数分析

  1. 传入的directory判读是否为‘/’如果是直接返回null
    if (directory === "/") return null;
    
  2. 获取‘/’和‘\’在directory 中最后出现的位置,并赋值给i和j
    const i = directory.lastIndexOf("/"),j = directory.lastIndexOf("\\");
    
    注:因为在不同平台上路径分隔符不一样
  3. 对i和j进行三元表达式判断
    const p = i < 0 ? j : j < 0 ? i : i < j ? j : i;
    
不是
不是
不是
i是否小于0
返回j
j是否小于0
返回i
i是否小于j
  1. 根据p返回结果
    if (p < 0) return null;return directory.slice(0, p || 1);
    

三、源码

function cdUp(directory) {if (directory === "/") return null;const i = directory.lastIndexOf("/"),j = directory.lastIndexOf("\\");const p = i < 0 ? j : j < 0 ? i : i < j ? j : i;if (p < 0) return null;return directory.slice(0, p || 1);
}

http://www.ppmy.cn/ops/6867.html

相关文章

给c++小白的教程5:输入

大家好&#xff0c;又见面了。 今天给大家带来c中的输入。 输入&#xff0c;c中有两种&#xff0c;cin>>和scanf()。 在这里只讲解cin&#xff0c;scanf将在以后实体讲解中介绍。 用法&#xff1a; cin>>变量; cin是从键盘上获取数据&#xff0c;赋值给变量 …

设计模式-单例模式

单例模式 饿汉式 饱汉式 单例模式是Java中最简单的设计模式之一&#xff0c;它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式&#xff0c;可…

react中useState的值没有改变,而是旧的数值

问题背景 想实现点击按钮就改变数据的效果&#xff0c;但是在控制台的打印结果&#xff0c;总是上一次的修改情况&#xff0c;并不是最新的修改后的数据 代码&#xff1a; import { useState, useRef } from "react";// 实现sonA的数据传递给sonB const SonA () …

途游游戏,科锐国际(计算机类),得物,蓝禾,奇安信,顺丰,康冠科技,金证科技24春招内推

途游游戏&#xff0c;科锐国际&#xff08;计算机类&#xff09;&#xff0c;得物&#xff0c;蓝禾&#xff0c;奇安信&#xff0c;顺丰&#xff0c;康冠科技&#xff0c;金证科技24春招内推 ①得物 【岗位】技术&#xff0c;设计&#xff0c;供应链&#xff0c;风控&#xff0…

【docker】把镜像save出来

先把要commit的容器停止。 为了确保提交的镜像反映容器某一精确时刻的稳定状态&#xff0c;应在提交Docker容器为新镜像前先停止该容器。这样生成的新镜像将更可靠、易于管理和重现。 sudo docker commit 容器名 镜像名&#xff1a;tag sudo docker commit sjtu sjtu:4.17 …

微信小程序配置了onShareTimeline分享到朋友圈,但是在开发者工具中这里始终是灰色的,在真机调试的时候也没有发现有分享到朋友圈的相关信息。

微信小程序配置了onShareTimeline分享到朋友圈&#xff0c;但是在开发者工具中这里始终是灰色的&#xff0c;在真机调试的时候也没有发现有分享到朋友圈的相关信息。 有说&#xff1a;使用 web-view组件的页面支持分享发送给朋友不支持分享到朋友圈 折腾半天不如看官方文档。 …

【微服务】Hystrix的概念、作用以及使用方法

目录 概念 作用 使用方法 Hystrix的实现 Hystrix 是 Netflix 提供的一个用于分布式系统的延迟和容错库。它旨在通过在客户端库中实现断路器模式&#xff0c;从而防止在一个分布式环境中的雪崩效应并提供回退选项&#xff0c;从而增强了分布式系统的弹性和可靠性。 概念 断…

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程 &#x1f4cd;相关篇《HAL STM32 I2C方式读取MT6701磁编码器获取角度例程》&#x1f4cc;当前最新MT6701数据手册&#xff1a;https://www.magntek.com.cn/upload/MT6701_Rev.1.8.pdf&#x1f4dc;SSI协议读角度&#xff…