node-slug 参数清单完整指南:replacement、lower、remove 全选项与两种内置 mode 详解
node-slug 参数清单完整指南replacement、lower、remove 全选项与两种内置 mode 详解【免费下载链接】node-slugslugifies even utf-8 chars!项目地址: https://gitcode.com/gh_mirrors/no/node-slug本文是一份node-slug 参数清单完整指南面向需要用这款 Node.js slugify 工具把任意字符串转成 URL 友好 slug 的开发者。你将了解replacement、lower、remove等全部选项的作用与默认值并对比pretty与rfc3986两种内置 mode 的差异几分钟就能配置出理想的 slugify 行为。 快速上手1 分钟安装并完成第一次 slugify安装只需一行命令npm install slug然后直接调用const slug require(slug); slug(i ♥ unicode); // i-love-unicode slug(i ♥ unicode, _); // i_love_unicode slug(i ♥ unicode, { replacement: _ });// 与上一行完全等价第二个参数有两种写法直接传一个字符串等价于{ replacement }或传完整选项对象。实现见源码slug.js第 12–16 行。 node-slug 参数清单6 个选项 mode 一览参数作用pretty 默认值rfc3986 默认值replacement空格与分隔符的替换字符--lower结果是否统一转小写falsetrueremove额外删除字符的正则/[.]/g删掉所有句点null不删symbols是否转换 Unicode 符号♥ → lovetruetruecharmap单字符映射表可自定义扩展内置拉丁/希腊/俄语等同左multicharmap多字符映射表3→love、→and 等同左除这 6 个选项外清单的核心是mode参数——用来在两种内置模式之间切换。 replacement最常用的分隔符参数replacement决定原字符串中的空格和分隔符被替换成什么默认是-也可以换成下划线、空串或任意字符slug(foo bar baz, _); // foo_bar_baz slug(foo bar baz, ); // foobarbaz两条内置规则见slug.js第 64–66 行帮你省去手动处理连续的空格/分隔符会压缩成一个replacement不会产出--这类双分隔末尾的分隔符会被自动去掉结果不会以-结尾。 lower一个参数控制是否小写结果是否全部小写由lower决定两种模式的默认值不同模式lower默认效果示例prettyfalse保留原始大小写I-freaking-love-UNICODErfc3986true全部小写its-your-journey…在 pretty 模式下想强制小写传{ lower: true }即可官方测试用例test/slug.test.coffee第 226–234 行正好覆盖了这两种情况。✂️ remove用正则删除不想要的字符remove接收一个正则匹配到的字符会被直接删掉pretty模式默认为/[.]/g——句点默认全被删除包括省略号…转换出的...rfc3986模式默认为null句点等合法字符原样保留。想要更严格的“纯字母数字” slug 时可以自己传slug(Its your journey ... we guide you., { remove: /[^a-z]/gi });注意执行顺序remove在字符映射和符号转换之后生效见slug.js第 61 行所以它操作的是转换后的结果。 charmap / multicharmap / symbols三种映射能力charmap内置单字符映射表见slug.js第 81–166 行覆盖范围相当广拉丁文ß→ss、Æ→AE希腊文α→a、ψ→ps俄语ж→zh、ю→yu越南文、土耳其文、捷克文、波兰文等货币符号€→euro、¥→yen、元→yuan排版符号©→(c)、™→tm还可以随时扩展自己的映射slug.charmap[♥] freaking love;multicharmap多字符映射优先于 charmap 执行见slug.js第 76–78 行3→love、→and、||→or、w/→withslug(w/ 3 sugar || ☠); // with-love-and-sugar-or-skull-and-bonessymbolsUnicode 符号转换依赖内置 unicode 表♥→love、☢→radioactive、☯→yin-yang传{ symbols: false }可关闭关闭后这类符号会被直接移除。特别提醒NodeCommonJS下 symbols 默认开启浏览器script 标签 / AMD版本会自动关闭避免加载约 2MB 的 Unicode 符号表见slug.js第 189–209 行。⚖️ pretty 与 rfc3986两种内置 mode 怎么选mode用于切换两个预设定义在slug.js第 168–185 行对比项pretty默认rfc3986定位人类可读的友好 slug严格遵循 RFC 3986 URL 标准remove/[.]/g删除句点null不删除lowerfalse保留大小写true全部小写允许保留的符号_、~.、_、~适用场景文章标题、社交链接、SEO slug后端路由、API 路径、规范 URL一段对比最直观const text Its Your Journey We Guide You Through.; slug(text, { mode: pretty }); // Its-Your-Journey-We-Guide-You-Through slug(text, { mode: rfc3986 }); // its-your-journey-we-guide-you-through.❓ 常见问题Q1为什么 rfc3986 模式下句点被保留了因为.在 RFC 3986 中是合法的非保留字符该模式remove为null原样保留而 pretty 模式默认/[.]/g会把它删掉。Q2允许保留的字符白名单是什么slug.js第 60 行定义了白名单单词字符、空格、-、.、_、~。其余字符要么被映射转换要么被移除。Q3有命令行工具吗有。包内附带slug可执行入口见bin/slug.js全局安装后执行slug Hello World会直接输出以下划线分隔的结果。 文件资料清单核心源码slug.js完整流程选项合并 → 字符映射 → 分隔符替换 → 小写处理两种 mode 的预设定义slug.js第 168–185 行内置 charmap 映射表slug.js第 81–166 行选项合并逻辑slug.js第 12–25 行完整测试用例每个参数的行为都有示例test/slug.test.coffee快速上手示例与浏览器打包技巧README.md包信息版本、依赖、CLI 入口package.json【免费下载链接】node-slugslugifies even utf-8 chars!项目地址: https://gitcode.com/gh_mirrors/no/node-slug创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

测试工程师必备:自动化图片测试工具集的设计与实践

测试工程师必备:自动化图片测试工具集的设计与实践

1. 项目概述:为什么测试工程师需要一个专属的图片测试工具集?在当前的软件交付流程里,UI和视觉测试的比重正变得越来越大。无论是移动端App、Web应用,还是桌面软件,图片作为信息传递的核心载体,其显示的正确…

2026/8/25 17:57:08 阅读更多 →
DDD领域事件发布:事务内发件箱模式实现与生产实践

DDD领域事件发布:事务内发件箱模式实现与生产实践

1. 项目概述:为什么领域事件发布是DDD落地的关键一环聊到领域驱动设计,很多朋友的第一反应是“战术建模”——实体、值对象、聚合、仓储,这些概念确实构成了DDD的骨架。但在我过去十多年的项目实战里,真正决定一个DDD系统能否顺畅…

2026/8/25 17:57:08 阅读更多 →
dusk-plonk椭圆曲线Gadget详解:JubJub点运算与固定基标量乘的完整指南

dusk-plonk椭圆曲线Gadget详解:JubJub点运算与固定基标量乘的完整指南

dusk-plonk椭圆曲线Gadget详解:JubJub点运算与固定基标量乘的完整指南 【免费下载链接】plonk Pure Rust implementation of the PLONK ZKProof System done by the Dusk team 项目地址: https://gitcode.com/gh_mirrors/plo/plonk dusk-plonk 是 Dusk 团队用…

2026/8/26 20:07:07 阅读更多 →

最新新闻

打工人如何利用AI解放双手:7步高效工作流

打工人如何利用AI解放双手:7步高效工作流

1. 先想清楚:哪些工作适合交给 AI Agent普通人想用 AI Agent 解放双手,第一步不是急着选工具,而是先盘点自己手头有哪些「重复、有固定流程、不太需要临场判断」的工作。这类工作通常具备三个特征:重复性高:每周甚至每…

2026/8/26 20:06:46 阅读更多 →
Charm-Crypto 测试与性能基准完整指南:Doctest、测试向量与 Benchmark 三步走

Charm-Crypto 测试与性能基准完整指南:Doctest、测试向量与 Benchmark 三步走

Charm-Crypto 测试与性能基准完整指南:Doctest、测试向量与 Benchmark 三步走 【免费下载链接】charm Charm: A Framework for Rapidly Prototyping Cryptosystems 项目地址: https://gitcode.com/gh_mirrors/cha/charm Charm-Crypto 是一个用于快速原型开发…

2026/8/26 20:06:46 阅读更多 →
React倒计时Hook源码深度解析:react-timer-hook的useTimer如何实现毫秒级精确倒计时?逐行精讲

React倒计时Hook源码深度解析:react-timer-hook的useTimer如何实现毫秒级精确倒计时?逐行精讲

React倒计时Hook源码深度解析:react-timer-hook的useTimer如何实现毫秒级精确倒计时?逐行精讲 【免费下载链接】react-timer-hook React timer hook 项目地址: https://gitcode.com/gh_mirrors/re/react-timer-hook react-timer-hook 是一款专为 …

2026/8/26 20:06:46 阅读更多 →
戴森球计划工厂蓝图怎么用?一份新手到进阶的完整指南

戴森球计划工厂蓝图怎么用?一份新手到进阶的完整指南

戴森球计划工厂蓝图怎么用?一份新手到进阶的完整指南 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints FactoryBluePrints 是一个为《戴森球计划》玩家整理的社区…

2026/8/26 20:06:46 阅读更多 →
什么是nestjs-starter-rest-api?一文读懂这个生产级NestJS 11单体REST API启动模板的全部功能

什么是nestjs-starter-rest-api?一文读懂这个生产级NestJS 11单体REST API启动模板的全部功能

什么是nestjs-starter-rest-api?一文读懂这个生产级NestJS 11单体REST API启动模板的全部功能 【免费下载链接】nestjs-starter-rest-api NestJS Starter Kit. Monolithic Backend. REST API. 项目地址: https://gitcode.com/gh_mirrors/ne/nestjs-starter-rest-a…

2026/8/26 20:06:46 阅读更多 →
1.10 C++踩坑排雷手册——union 的类型活跃状态:读取非活跃成员为未定义行为

1.10 C++踩坑排雷手册——union 的类型活跃状态:读取非活跃成员为未定义行为

1.10 C++实战100例——union的类型活跃状态:读取非活跃成员为未定义行为 受众 中级工程师,已掌握 union 的基本语法,能区分 C 风格 union 与 C++ 的活跃成员概念。默认具备基础 Linux 操作能力和 GDB 调试能力。 场景锚定 场景:你在 C++ 代码中定义了一个 union 包含 i…

2026/8/26 20:05:46 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →