我想介绍一个可以跨多个项目共享的打字稿编码指南。我不想tslint.json
多次复制粘贴,它目前已经发生,我们有不同的版本。
我想将我的指导方针建立在tslint:recommended
. 而且我看到 tslint 语法允许extend
,但我不清楚它的用法以及如何构建这样的包。
这样的项目可以仅包含一个tslint.json
本身还是我需要导出一个模块?
我希望将包托管在 npm/sinopia 实例上,但不确定如何继续。
我想介绍一个可以跨多个项目共享的打字稿编码指南。我不想tslint.json
多次复制粘贴,它目前已经发生,我们有不同的版本。
我想将我的指导方针建立在tslint:recommended
. 而且我看到 tslint 语法允许extend
,但我不清楚它的用法以及如何构建这样的包。
这样的项目可以仅包含一个tslint.json
本身还是我需要导出一个模块?
我希望将包托管在 npm/sinopia 实例上,但不确定如何继续。
是的。您可以创建一个包含规则集的 NPM 模块,并可以在tslint.json
文件extends
设置中引用它。
例如,您可以创建一个my-rule-set
使用以下名称命名的 NPM 模块package.json
:
{
"name": "my-rule-set",
"version": "0.0.0",
"main": "my-rule-set.json"
}
和这个my-rule-set.json
(请注意,main
在package.json
引用my-rule-set.json
文件中):
{
"extends": "tslint:recommended",
"rules":
{
...
}
}
然后,在my-rule-set
安装后,您可以使用自己的规则集node_modules
扩展文件:tslint.json
{
"extends": "my-rule-set"
}
在这篇 TSLint 博客文章中有更多关于可共享配置的信息。
如果您的规则集仅包含现有规则的配置,那么您只需要这样做。但是,如果您打算实现一些自定义规则,则my-rule-set.json
需要链接到自定义规则所在的目录。因此,例如,它还应该具有以下内容:"rulesDirectory": "./rules"
. 然后该./rules
目录应该包含规则的编译.js
版本。