如何为TSLint的import-blacklist规则配置error级severity禁止导入packages开头模块
TSLint
import-blacklist 规则配置指南 核心错误原因
- TSLint的severity配置位置错误:severity仅支持两种配置位置:数组形式规则的第一个元素、对象形式规则的
severity字段,你之前放在后续参数对象中的severity配置会被完全忽略。 - 数组形式配置中冗余的
{ "severity": ["error"] }属于规则非法参数,会导致import-blacklist规则解析异常,默认 fallback 到警告级别。 - 布尔值
true作为severity的兼容问题:虽然旧版TSLint会将true映射为error,但多数编辑器的TSLint插件对布尔值severity的解析存在兼容bug,会默认降级为警告。 - 对象形式配置的
options字段未填写规则专属参数:import-blacklist要求将禁止的导入规则列表放在options数组的第一个元素中。
正确配置写法
写法1:标准数组形式(全版本TSLint兼容)
"import-blacklist": [ "error", ["^packages.*$"] ]
说明:
- 第一个元素固定写
"error"指定严重级别,避免兼容问题 - 第二个元素为禁止匹配的导入规则数组,可同时添加多个字符串(精确匹配)或正则表达式(字符串形式)规则
写法2:对象形式(TSLint 5.9+ 支持)
"import-blacklist": { "severity": "error", "options": [ ["^packages.*$"] ] }
说明:
severity字段直接指定为"error"options数组的第一个元素就是import-blacklist要求的禁止导入规则列表
生效注意事项
- 配置修改后必须重新加载编辑器窗口(或重启TSLint服务),否则编辑器会缓存旧配置,仍显示黄色警告波浪线
- 正则
^packages.*$可匹配所有以packages开头的导入路径,符合禁止要求
内容的提问来源于stack exchange,提问作者Nam Le
相关产品推荐
相关产品推荐

