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

news/2024/9/22 15:09:53/

一、 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/news/1428430.html

相关文章

【模板】差分

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 3 2 1 2 3 1 2 4 3 3 -2 输出 5 6 1 思路&#xff1a; 一直以来&#xff0c;我总是不太理解差分和树状数组操作区别。 现在摸了一下开始有所理解了。 差分和树状数组的区别…

OpenHarmony轻量系统开发【4】编写第一个程序、启动流程分析

摘要&#xff1a;本文简单介绍如何编写第一个hello world程序&#xff0c;以及程序是被执行的 适合群体&#xff1a;适用于Hi3861开发板&#xff0c;启动流程分析 4.1编写第一个程序 编写一个hello world程序比较简单&#xff0c;可以参考官网&#xff1a; https://gitee.c…

word批量修改表格样式

利用宏&#xff0c;批量选中表格&#xff0c;然后利用段落和表设计来操作。 利用宏&#xff0c;批量选中表格&#xff0c;参考百度安全验证段落&#xff0c;表格里面的内容有空格&#xff0c;应该是有缩进&#xff0c;在段落中去掉缩进&#xff0c;即缩进-特殊&#xff0c;选择…

《论文阅读》对话推理的对比学习 EMNLP 2023

《论文阅读》对话推理的对比学习 前言名词简介CICERO 数据集方法损失函数实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Contrastive Learning for Inference in Dialogue》 出版:EMNLP 时…

算法 第46天 动态规划8

139 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 输入: s “leetcode”, wordDict [“…

黑客知识了解

ipc$ 利用139&#xff0c;445端口 弱口令&#xff1a;admin,123456,root 容易被破解 命令 内部命令&#xff08;系统自带命令&#xff09; dir,tree,notepad 外部命令&#xff08;你自己下载的命令&#xff09; python webshell 网页木马 SQL注入 sql 结构化查询语言 …

论文笔记:UrbanGPT: Spatio-Temporal Large Language Models

1 intro 时空预测的目标是预测并洞察城市环境随时间和空间不断变化的动态。其目的是预见城市生活多个方面的未来模式、趋势和事件&#xff0c;包括交通、人口流动和犯罪率。虽然已有许多努力致力于开发神经网络技术&#xff0c;以准确预测时空数据&#xff0c;但重要的是要注意…

Ubuntu 微调训练ChatGLM3大语言模型

Ubuntu 微调训练ChatGLM3大语言模型 LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比&#xff0c;同时在广告文案生成任务上取得了更高的 Rouge 分数。结合 4 比特量化技术&#xff0c;LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。 https://github.com/hiyouga…