NPM 包 Metrano 使用教程

阅读时长 8 分钟读完

Metrano 是一个负责处理 HTML 及 CSS 编写句子的 npm 包。该包主要用于检查 HTML 和 CSS 文本中潜在的语法错误,并提供建议来帮助程序员编写出更清晰、更易于维护的代码。

这篇文章将会介绍 Metrano 的使用,并提供一个小示例以供参考。

安装 Metrano

使用 npm 可以很容易地安装 Metrano:

配置 Metrano

对于大多数项目,你会希望 Metrano 在构建时运行,并根据需要进行适当的配置。你可以使用 JSON 配置文件来定义 Metrano 的行为,该文件通常位于项目根目录中的 .metrano 文件中。

下面是一个示例 .metrano 文件:

-- -------------------- ---- -------
-
  -------------------- -----
  ----------------------- -----
  ------------- --------- --------
  -------- -
    ----------------- ------------
    ---------------------- -----
    ----------------------- -----
    ---------------- ----------------------------------
    -------------------- -----
    ------------- --------------------------------
    -------------- --
    ---------------- -----------
  -
-

该文件指定了 Metrano 的规则和 eslint 以及 stylelint 集成,并指定了以 .html 和 .css 扩展名结尾的文件应该在 Metrano 的检查清单中。

运行 Metrano

一旦在项目中安装并配置了 Metrano,你就可以在你的构建脚本中添加命令来运行它。例如,如果你使用的是 npm,你的 package.json 文件可能包含一个脚本,如下所示:

上述示例中,metrano 命令将会检查项目中的所有以 .html 和 .css 扩展名结尾的文件。

你可以根据需要更改文件或目录的模式。请参考 minimatch 文档以获取有关模式语法和选项的更多信息。

另外,你也可以将 Metrano 的标题排除在外,使它不会阻塞其他命令的运行。例如,如果你希望在运行 Metrano 后允许您执行测试,例如在 Travis CI 构建中,你可以在 package.json 文件中的 lint 脚本上使用 --quiet 标志:

Metrano 规则

Metrano 附带了许多规则,每个规则都是针对特定类型的语法错误进行检查。以下是 Metrano 中的一些规则,以及它们是如何工作的:

attr-name-case

该规则检查 HTML 元素的属性名(例如,class 、 id 等)是否按规范小写,以确保代码的一致性和易读性。

attr-no-duplication

该规则确保 HTML 元素的属性名不重复,以避免出现潜在的逻辑错误。

class-no-duplicationid-no-duplication

attr-no-duplication 类似,这两个规则确保在 HTML 内部使用的 class 和 id 不重复。

class-patternid-pattern

这两个规则检查 HTML 元素的 class 和 id 命名模式是否按指定的模式命名。例如,为了保持一致性,你可能希望强制所有 class 名称都是小写,或者使用破折号分隔单词。

indentation

该规则确保 HTML 和 CSS 文件内的缩进符合指定的数量和样式,以保持代码的整洁和可读性。

tag-name-case

该规则检查 HTML 元素的标签名称是否按约定以小写字母书写。这一规则可以确保在不同文件、文档和语言之间使用标签名称时的一致性和可读性。

示例代码

以下是一个示例 HTML 和 CSS,以及存在错误的示例:

-- -------------------- ---- -------
--------- -----
------
------
  ----- ----------------
  -----------------
  ----- ---------------- ------------------
-------
----- ------------------
  --- ---------------------------
  ----------------
  ------- -------------------------------
-------
-------
-- -------------------- ---- -------
---------- -
  -------- -----
    ------- ---- ----
-

------ -
  ---------- -----
-
------------ -
  ----------------- -----
  ------ ------
-

运行 Metrano 检测到的错误

运行 Metrano 后,将产生以下输出:

出现了 7 个错误:

  • 第 7 行:要求小写属性名称,但是找到 "class"。
  • 第 11 行:<h2> 标签不是有效的标签名称,应该是 <h1> / <h2> / <h3> / <h4> / <h5> / <h6>
  • 第 13 行:class 名称应遵循样式指南模式,找到 "Btn-primary"。
  • 第 13 行:发现重复的 class 名称 "Btn-primary"。
  • 第 14 行:需要缩进 4 个空格,但只有 2 个。
  • 第 14 行:要求小写属性名称,但发现 "class"。
  • 第 3 行:需要缩进 2 个空格,但发现 4 个。
  • 第 6 行:要求小写属性名称,但发现 "Btn-primary"。

修复错误

将 HTML 文件修改为:

-- -------------------- ---- -------
--------- -----
------
------
  ----- ----------------
  -----------------
  ----- ---------------- ------------------
-------
----- ------------------
  --- ---------------------------
  ----------------
  ------- -------------------------------
-------
-------

并将 CSS 文件修改为:

-- -------------------- ---- -------
---------- -
  -------- -----
  ------- ---- -----
-

------ -
  ---------- -----
-

------------ -
  ----------------- -----
  ------ ------
-

保存这些更改后,再次运行 Metrano 将会得到以下输出:

该输出表明,在修复这些错误之后,Metrano 不再报告任何问题。

总结

Metrano 是一个有用的 npm 工具,它可以帮助你在编写 HTML 和 CSS 代码时检测潜在的语法错误,并提供有用的建议。通过使用 Metrano,你可以编写出更易于维护、更整洁的代码。

希望这篇文章能够对你了解 Metrano 的使用、配置和规则检测有所帮助,同时,也提供了一个示例项目,以供参考。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f451d8e776d08040ef0

纠错
反馈