作为主题检查的一部分,您可以运行以下检查。每个检查都能识别代码中未遵循最佳实践的特定错误或位置。
检查按类别分组,以帮助您了解其目的。有些检查包含多个类别。
包括或不包括检查类别
使用 –category 或 –exclude-category 标志,可以包含或排除某些类别的检查。该标记接受以下值:
- html
- json
- liquid
- performance
- translation
例如,要只对主题运行 Liquid 检查,请使用 shopify theme check –category liquid 命令。要禁用翻译检查,请使用 shopify theme check –exclude-category translation 命令。
您可以使用多个标志实例指定多个类别:
shopify theme check --category liquid --category performance
HTML 检查
这些检查会分析 HTML 文件的内容
检查 | 严重性 | 目的 |
---|---|---|
AssetPreload | 建议 | 鼓励使用 Liquid 过滤器而不是 HTML 属性预载资产。 |
AssetSizeCSS | 错误 | 防止主题使用大于配置阈值的 CSS 文件。 |
AssetSizeJavaScript | 错误 | 防止使用压缩大小大于配置阈值的主题 JavaScript 文件和外部脚本。 |
DeprecateBgsizes | 建议 | 不鼓励使用bgset扩展替代image-set加载背景图片 |
DeprecateLazysizes | 建议 | 不鼓励使用 lazysizes 库来懒加载图片、iframe 和脚本。 |
HtmlParsingError | 错误 | 报告主题检查无法解析和分析 HTML 的错误。 |
ImgLazyLoading | 建议 | 建议对图片进行懒加载,以提高性能。 |
ImgWidthAndHeight | 错误 | 强制设置 img 标记的宽度和高度属性。 |
ParserBlockingJavaScript | 错误 | 识别没有 defer 或 async 属性的脚本标记,避免解析器阻塞 JavaScript。 |
RemoteAsset | 建议 | 不鼓励使用第三方域名托管资产。 |
JSON检查
这些检查会分析 JSON 文件的内容和结构以及语法。
检查 | 严重性 | 目的 |
---|---|---|
ValidJson | 错误 | 识别主题中无效的 JSON 文件 |
ValidSchema | 建议 | 识别 {% schema %} 标记中的无效 JSON。 |
ValidHTMLTranslation | 建议 | 识别翻译中的无效 HTML。 |
Liquid 检查
这些检查分析 Liquid 代码的样式和有效性。其中一些检查支持使用 –auto-correct 标志进行自动更正。
检查 | 严重性 | 目的 | 自动更正 |
---|---|---|---|
AppBlockValidTags | 错误 | 识别主题程序扩展程序块和程序嵌入块代码中被禁止的 Liquid 标记。 | |
AssetSizeCSSStyleSheetTag | 错误 | 防止主题使用 Liquid引用的CSS大于配置阈值的 CSS 文件。 | |
AssetUrlFilters | 错误 | 鼓励使用 asset_url 或 image_url 过滤器提供资产 | |
ContentForHeaderModification | 错误 | 识别尝试解析 content_for_header 的代码 | |
ConvertIncludeToRender | 建议 | 不鼓励使用过时的 include 标签,应该使用 render 标签。 | |
DeprecatedFilter | 建议 | 不鼓励在主题中使用过时的过滤器 | 是(仅img_url) |
DeprecatedGlobalAppBlockType | 错误 | 确保主题部分不使用已废弃的 @global 块类型来支持或呈现分区中的应用块。 | |
DeprecatedTags | 错误 | 不鼓励在主题中使用过时的标签 | |
LiquidTag | 建议 | 如果发现四个或更多连续的 Liquid 标记({% … %}),建议使用 {% liquid … %}。 | |
MissingEnableComment | 错误 | 保证在模板中存在 theme-check-disable ,相应的theme-check-enable也存在 | |
MissingRequiredTemplateFiles | 错误 | 确保 Shopify 主题商店所需的所有模板文件都已存在。 | 是 |
MissingAsset | 错误 | 确保 asset_url 过滤器引用的所有资产文件都存在。 | |
MissingTemplate | 建议 | 当使用 render、section 或 include 标记引用资源,但该资源并不存在时进行识别。 | 是 |
NestedSnippet | 建议 | 报告深度嵌套的render 标记或include标记。 | |
ParserBlockingScriptTag | 错误 | 是否使用script_tag过滤器 | |
RequiredDirectories | 错误 | 确保 Shopify 主题商店所需的所有模板文件都已存在。 | 是 |
RequiredLayoutThemeObject | 错误 | 确保 theme.liquid 布局文件包含所需的 {{ content_for_header }} 和 {{ content_for_layout }} 对象。 | 是 |
SchemaJsonFormat | 样式 | 识别 {% schema %} 标记中格式不当的 JSON | 是 |
SpaceInsideBraces | 样式 | 识别 Liquid 标记和变量内部不一致的间距。 | 是 |
SyntaxError | 错误 | 识别 Liquid 语法错误 | |
TemplateLength | 建议 | 识别大型 Liquid 模板文件 | |
UndefinedObject | 错误 | 识别对未定义的 Liquid 对象的引用 | |
UnknownFilter | 错误 | 识别未知Liquid过滤器的引用 | |
UnusedAssign | 建议 | 识别未使用的变量定义。 | 是 |
UnusedSnippet | 建议 | 识别未使用的片段 | 是 |
性能检查
这些检查可查找主题代码中常见的性能问题。
检查 | 严重性 | 目的 |
---|---|---|
AssetPreload | 建议 | 鼓励使用 Liquid 过滤器而不是 HTML 属性预载资产。 |
AssetSizeAppBlockCSS | 错误 | 防止主题使用 Liquid 样式表标签引用大于配置阈值的 CSS 文件。 |
AssetSizeAppBlockJavascript | 错误 | 防止主题应用程序扩展使用压缩大小大于配置阈值的 JavaScript 文件和外部脚本。 |
AssetSizeCSS | 错误 | 防止主题使用大于配置阈值的 CSS 文件。 |
AssetSizeCSSStyleSheetTag | 错误 | 防止主题使用 Liquid 样式表标签引用大于配置阈值的 CSS 文件。 |
AssetSizeJavaScript | 错误 | 不鼓励在主题中使用过时的过滤器 |
AssetUrlFilters | 错误 | 鼓励使用 asset_url 或 image_url 过滤器提供资产 |
DeprecateBgsizes | 建议 | 不鼓励使用 bgset 扩展名而应该使用 image-set 属性加载背景图片 |
DeprecateLazysizes | 建议 | 不鼓励使用 lazysizes 库来懒加载图片、iframe 和脚本。 |
ImgLazyLoading | 建议 | 建议对图片进行懒加载,以提高性能。 |
ImgWidthAndHeight | 错误 | 强制设置 img 标记的宽度和高度属性 |
PaginationSize | 建议 | 确保对象的分页大小符合性能要求,从而避免一次加载过多对象。 |
ParserBlockingJavaScript | 错误 | 识别没有 defer 或 async 属性的脚本标记。 |
ParserBlockingScriptTag | 错误 | 标识 script_tag 过滤器的使用情况,该过滤器未封装在带有 defer 或 async 属性的脚本标记中。 |
RemoteAsset | 建议 | 不鼓励使用第三方域名托管资产 |
翻译检查
这些检查可确保翻译的完整性。其中一些检查支持使用 –auto-correct 标志进行自动校正。
检查 | 严重性 | 目的 | 自动更正 |
---|---|---|---|
DefaultLocale | 建议 | 确保主题有默认的本地文件 | 是 |
MatchingSchemaTranslations | 建议 | 识别 {% schema %} 标记中缺失或额外的翻译。 | 是 |
MatchingTranslations | 建议 | 识别本地文件中缺失或额外的翻译 | 是 |
TranslationKeyExists | 错误 | 识别不存在的翻译引用 | 是 |
发表回复