cssesc

中文文档
3.0.0发布于 2019/02/05MITCommonJS零依赖近 30 天下载 3.9亿

一个 JavaScript 库,用于在生成尽可能最短的 ASCII 仅输出的同时,逃离 CSS 字符串和标识符 .

中文使用文档
文档目录8 节
  1. 安装
  2. API 密码
  3. cssesc(value, options)
  4. cssesc.version
  5. 使用 cssesc 二进制
  6. 支助
  7. 作者
  8. 许可证

缩写c Build status Code coverage status

一个 JavaScript 库,用于在生成尽可能最短的 ASCII 仅输出的同时,逃离 CSS 字符串和标识符 .

这是 JavaScript 库 从文本中逃出用于 CSS 字符串或标识符 生成尽可能短的有效 ASCII 输出. 以下是在线演示.

CSSOM 的多填充器 CSS.escape() 方法在一个单独的仓库中可用. (比较而言, 缩写c (掌声)

如果你看到可能的改进,请随意叉出!

安装

通过 无数字 :

npm install cssesc

在浏览器中 :

<script src="cssesc.js"></script>

单位 节点.js数字 :

const cssesc = require('cssesc');

在 Ruby 中使用 页:1 ruby-cssesc 包装宝石数字 :

gem install ruby-cssesc
require 'ruby-cssesc'
CSSEsc.escape('I ♥ Ruby', is_identifier: true)

在 Sass 中使用 sassy-escape数字 :

gem install sassy-escape
body {
  content: escape('I ♥ Sass', $is-identifier: true);
}

API 密码

cssesc(value, options)

此函数取出一个值, 并返回一个未打印的 ASCII 符号使用尽可能最短( 但有效) 的字符所隐藏的值版本 用于 CSS 字符串或标识符的逃脱序列。 。 。 .

cssesc('Ich ♥ Bücher');
// → 'Ich \\2665  B\\FC cher'

cssesc('foo 𝌆 bar');
// → 'foo \\1D306  bar'

默认, cssesc 返回可以作为 CSS 字符串一部分的字符串。 如果目标是一个CSS标识符而不是CSS字符串,则使用 isIdentifier: true 设置(见下文).

可选 options 参数接受一个对象,其选项如下:

isIdentifier

默认值 isIdentifier 选项 false。这意味着输入文本将被从 CSS 字符串文字中逃出使用。 如果您想要将结果用作 CSS 标识符( 例如在选择器中), 请设置此选项为 true。 。 。 .

cssesc('123a2b');
// → '123a2b'

cssesc('123a2b', {
  'isIdentifier': true
});
// → '\\31 23a2b'

quotes

默认值 quotes 选项 'single'。这意味着: ' 在输入文本中,将按 \',这样输出就可以被用单引号包裹的 CSS 字符串文字所使用.

cssesc('Lorem ipsum "dolor" sit \'amet\' etc.');
// → 'Lorem ipsum "dolor" sit \\\'amet\\\' etc.'
// → "Lorem ipsum \"dolor\" sit \\'amet\\' etc."

cssesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
  'quotes': 'single'
});
// → 'Lorem ipsum "dolor" sit \\\'amet\\\' etc.'
// → "Lorem ipsum \"dolor\" sit \\'amet\\' etc."

如果您想要将输出作为 CSS 字符串文字的一部分, 请设置 quotes 选项到 'double'。 。 。 .

cssesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
  'quotes': 'double'
});
// → 'Lorem ipsum \\"dolor\\" sit \'amet\' etc.'
// → "Lorem ipsum \\\"dolor\\\" sit 'amet' etc."

wrap

这个 wrap 选项需要布尔值 (true 或者说 false),默认为 false (残疾). 启用时, 输出会是一个有效的 CSS 字符串字符串, 用引号包裹 。 引用类型可以通过 quotes 设置.

cssesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
  'quotes': 'single',
  'wrap': true
});
// → '\'Lorem ipsum "dolor" sit \\\'amet\\\' etc.\''
// → "\'Lorem ipsum \"dolor\" sit \\\'amet\\\' etc.\'"

cssesc('Lorem ipsum "dolor" sit \'amet\' etc.', {
  'quotes': 'double',
  'wrap': true
});
// → '"Lorem ipsum \\"dolor\\" sit \'amet\' etc."'
// → "\"Lorem ipsum \\\"dolor\\\" sit \'amet\' etc.\""

escapeEverything

这个 escapeEverything 选项需要布尔值 (true 或者说 false),默认为 false (残疾). 当启用时,输出中的所有符号都会被逃脱,甚至是可打印的ASCII符号.

cssesc('lolwat"foo\'bar', {
  'escapeEverything': true
});
// → '\\6C\\6F\\6C\\77\\61\\74\\"\\66\\6F\\6F\\\'\\62\\61\\72'
// → "\\6C\\6F\\6C\\77\\61\\74\\\"\\66\\6F\\6F\\'\\62\\61\\72"

在全球覆盖默认选项

全球默认设置可以通过修改 css.options 对象。 这可以让你避免经过 options 每次呼叫对象 encode 如果您想要使用非默认设置.

// Read the global default setting for `escapeEverything`:
cssesc.options.escapeEverything;
// → `false` by default

// Override the global default setting for `escapeEverything`:
cssesc.options.escapeEverything = true;

// Using the global default setting for `escapeEverything`, which is now `true`:
cssesc('foo © bar ≠ baz 𝌆 qux');
// → '\\66\\6F\\6F\\ \\A9\\ \\62\\61\\72\\ \\2260\\ \\62\\61\\7A\\ \\1D306\\ \\71\\75\\78'

cssesc.version

一个代表语义版本编号的字符串.

使用 cssesc 二进制

用来使用 cssesc 二进制在您的外壳中, 只需使用 npm 在全球安装 cssesc :

npm install -g cssesc

在此之后, 您可以从命令行中逃出文本, 用于 CSS 字符串或标识符 :

$ cssesc 'föo ♥ bår 𝌆 baz'
f\F6o \2665  b\E5r \1D306  baz

如果输出需要作为 CSS 标识符而不是字符串字元的一部分,则使用 -i编号 :--identifier 选项 :

$ cssesc --identifier 'föo ♥ bår 𝌆 baz'
f\F6o\ \2665\ b\E5r\ \1D306\ baz

见 cssesc --help 用于完整选项列表.

支助

此库支持其中提及的Node.js和浏览器版本 .babelrc。对于一个支持更广泛的传统浏览器和环境的版本, 见v.1.0。 。 。 .

作者

twitter/mathias
马蒂亚斯·拜恩斯

许可证

该图书馆可在 麻省理工学院 执照.

版本与发布记录

cssesc 共发布 5 个版本,首次发布于 2013/08/09;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.0latest2019/02/057 年前
2.0.02018/04/258 年前
1.0.12018/03/258 年前
1.0.02016/09/2910 年前
0.1.02013/08/0913 年前

关于 cssesc 的常见问题

cssesc 是什么?

一个 JavaScript 库,用于在生成尽可能最短的 ASCII 仅输出的同时,逃离 CSS 字符串和标识符 .

如何安装 cssesc?

在项目目录运行 npm install cssesc,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cssesc,可以用 npx cssesc 直接运行。

cssesc 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cssesc 是否存在。

cssesc 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

cssesc 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=4。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

cssesc 可以商用吗?

cssesc 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

cssesc 的下载量有多少?

根据 npm 官方下载统计,cssesc 在 2026/10/07 – 2026/11/05 这 30 天内被下载 392,228,513 次,日均约 13,074,284 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

cssesc 还在维护吗?

最新版本 3.0.0 发布于 2019/02/05(7 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2013/08/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。