2

我想介绍一个可以跨多个项目共享的打字稿编码指南。我不想tslint.json多次复制粘贴,它目前已经发生,我们有不同的版本。

我想将我的指导方针建立在tslint:recommended. 而且我看到 tslint 语法允许extend,但我不清楚它的用法以及如何构建这样的包。

这样的项目可以仅包含一个tslint.json本身还是我需要导出一个模块?

我希望将包托管在 npm/sinopia 实例上,但不确定如何继续。

4

1 回答 1

8

是的。您可以创建一个包含规则集的 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(请注意,mainpackage.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版本。

于 2016-09-21T13:31:30.850 回答