我正在使用 WebStorm 2019.1
我使用 Angular CLI 生成了一个项目。
一切正常,但我的项目中有一两个 .js 文件 - 例如protractor.conf.js
在 IDE 中,TSLint 对 .js 文件进行 linting 并显示大量红色。但我不希望 TSLint 对 .js 文件进行 lint 检查。
我知道我可以为此文件禁用 TSLint,但我宁愿通过tsconfig.json或tslint.json通过 WebStorm 设置执行此操作来正确配置我的项目。
我已经"tslint.jsEnable": false按照此处所述进行了尝试 - https://github.com/Microsoft/vscode-tslint/issues/261 - 但我认为这是针对不同的 IDE 的。有什么想法如何通过 WebStorm 设置来做到这一点tsconfig.json或tslint.json失败吗?
在我的 Web 应用程序中,当我定义必须包含某种数据类型的类属性时,我总是指定此数据类型。但应用程序异步获取数据,因此实际上该属性具有未定义的值,然后它具有真实的数据:
class SomeClass {
a: ISomeData;
constructor() {
getDataAsync().then((res: ISomeData) => this.a = res);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这a: ISomeData是不正确的。一定是a: ISomeData | undefined。(如果this.a = someData在构造函数中同步设置,那就是正确的)是否有 tslint 规则用于检查类属性没有数据并且必须具有未定义的类型?
我有一个客户的要求,说需要"_"符号。我这样添加:
public _someVariable: string;
Run Code Online (Sandbox Code Playgroud)
但 tslint 说variable name must be in lowerCamelCase, PascalCase or UPPER_CASE (variable-name)。
我想在保留 tslint 配置的同时删除警报,这是我的 tslint 配置:
"variable-name": {
"options": [
"ban-keywords",
"check-format",
"allow-pascal-case"
]
},
Run Code Online (Sandbox Code Playgroud) 我正在升级我们的应用程序,当我尝试构建我的角度应用程序时,出现以下错误:此规则要求打开编译strictNullChecks器选项才能正确运行@typescript-eslint/no-unnecessary-condition
问题是我希望将“strictNullChecks”设置为 false,这样我就不必在以后重构整个应用程序。有没有办法关闭这个规则?我似乎找不到任何关于此的文档。我遇到同样的错误大约 2100 次。任何人的帮助将不胜感激。
我尝试将以下内容添加到我的 angularCompilerOptions 中,但这没有解决我的问题:allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: true
我该如何解决这个打字稿错误?
我在下面的行中收到错误。
常量自我=这个;
我在终端中收到如下错误:
错误“this”意外别名为局部变量@typescript-eslint/no-this-alias
请找到下面的代码:
notifyOwner(req, metadata, callback) {
const currentUserId = req.session.identity.individual.userName;
const docId = metadata.docId;
let message = this.templates.selfRemoval;
const self = this;
const targetUserId = metadata.ownerId;
const paperTitle = metadata.title.replace(/<(.|\n)*?>/g, '');
const nonOwnerRole = metadata.userRole;
message = message.replace(/\[CollaboratorName\]/g, req.session.identity.individual.firstName + ' ' + req.session.identity.individual.lastName);
message = message.replace(/\[NonOwnerRole\]/g, (nonOwnerRole === 'author') ? 'collaborator' : 'reviewer');
message = message.replace(/\[PaperTitle\]/g, paperTitle);
const eventData = {
message: message,
objectType: 'manuscript',
objectId: docId
};
self.createEvent(currentUserId, targetUserId, eventData, (err, result) => { …Run Code Online (Sandbox Code Playgroud) 我已经为我的TypeScript项目配置了TSLint,我不知道警告forbidden var keyword是什么意思.这是一个最小的示例,它会导致TSLint警告:
var x: number = 1;
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:我正在使用示例tslint.json.
我一直在关注Dan Wahlin和在线示例的教程,以配置Gulp和Typescript.我有代码运行,但我无法让tslint()工作.tslint()调用总是抛出异常:
node_modules\tslint\lib\language\walker\ruleWalker.js:18
this.limit = this.sourceFile.getFullWidth();
^
TypeError: Cannot read property 'getFullWidth' of undefined
at EnableDisableRulesWalker.RuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\ruleWalker.js:18:37)
at EnableDisableRulesWalker.SkippableTokenAwareRuleWalker [as constructor] (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\language\walker\skippableTokenAwareRuleWalker.js:11:16)
at new EnableDisableRulesWalker (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\enableDisableRules.js:13:16)
at Linter.lint (C:\Users\sscott\Development\OntarioDarts.com\node_modules\tslint\lib\tslint.js:16:27)
at C:\Users\sscott\Development\OntarioDarts.com\node_modules\gulp-tslint\index.js:96:34
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcloader\index.js:73:7)
at respond (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:140:7)
at next (C:\Users\sscott\Development\OntarioDarts.com\node_modules\rcfinder\index.js:164:16)
at nextTickCallbackWith0Args (node.js:433:9)
at process._tickCallback (node.js:362:13)
Run Code Online (Sandbox Code Playgroud)
我使用的是Windows 10.我有typescript,tslint,gulp-typescript和gulp-tslint.
已安装的版本:
??? gulp-typescript@2.10.0
? ??? typescript@1.7.3
??? gulp-uglify@1.5.1
? ??? uglify-js@2.6.0
? ??? yargs@3.10.0
? ??? cliui@2.1.0
? ??? wordwrap@0.0.2
??? tslint@3.2.1
? ??? optimist@0.6.1
? ??? wordwrap@0.0.3
??? typescript@1.7.5 …Run Code Online (Sandbox Code Playgroud) 我想在我的工作流程中添加tslint.我通过以下方式安装:
npm install tslint tslint-config-ms-recommended --save-dev
Run Code Online (Sandbox Code Playgroud)
我tslint.json看起来像:
{
"extends": "tslint-config-ms-recommended"
}
Run Code Online (Sandbox Code Playgroud)
然而,当我跑:
./node_modules/.bin/tslint src/**/*.ts
Run Code Online (Sandbox Code Playgroud)
它还会检查很多明确键入的文件,例如:
src/interfaces/highland.d.ts[621, 1]: space indentation expected
src/interfaces/highland.d.ts[622, 1]: space indentation expected
src/interfaces/highland.d.ts[635, 1]: space indentation expected
Run Code Online (Sandbox Code Playgroud)
污染输出.
我想只检查我的*.ts文件,并且正在寻找忽略其他类型的方法.
我看到有一个--exclude选项,但它在运行时仍显示d.ts文件:
./node_modules/.bin/tslint src/**/*.ts --exclude src/**/*.d.ts
Run Code Online (Sandbox Code Playgroud) 我想介绍一个可以在多个项目中共享的打字稿编码指南.我不想复制粘贴tslint.json多次,它已经发生了,我们已经发布了它的分歧版本.
我想以我的指南为基础tslint:recommended.我看到tslint语法允许extend,但我不清楚它的用法以及如何构造这样的包.
这样的项目可以仅仅是一个tslint.json本身,还是我需要导出一个模块?
我希望包然后在npm/sinopia实例上托管,但我不确定如何继续.
我知道有通过禁用选项的那些"未使用的导入的警告给tslint运行时,ionic serve或者ionic build.但我不知道该把它放在哪里.有人知道吗?谢谢
[1] https://palantir.github.io/tslint/rules/no-unused-variable/