问题
I'm using tslint, and got the error.
'myVariable' is declared but its value is never read.
I went to the website that documents the rules https://palantir.github.io/tslint/rules/ and searched for the string is declared but its value is never read
but didn't find that text. While I can and did look for settings that might be tied to this error, it shouldn't be a guessing game.
What is the configuration change needed to suppress/stop this error?
Just as importantly, when I get an error in tslint that says "this happened" how can I find what setting is used to configure or change the tslint behavior on how to handle that error?
I also did a search on the website (google search I used was)
site:palantir.github.io is declared but its value is never read
but a direct hit did not appear, so the answer might be on the palantir.github.io website but I just didn't (yet) find it.
How do others find the tslint variable/configuration settings that change to suppress a particular error?
Please refrain from suggesting I comment out the code that is causing the problem. I'm looking for an answer to my more general question as well as to the specific question. Thank you.
回答1:
Any parameter name starting with _ is exempt from the check. Use _myVariable
instead of myvariable
to remove this warning.
回答2:
Fist question:
Edit the file:tsconfig.json, adding/modifying key "noUnusedLocals": false.
You'll need to restart the server.
Second question:
If it is a tslint error; VS Code shows, in the error message, the rule that's been applied.
Identifier 'doc' is never reassigned; use 'const' instead of 'let'. (prefer-const)
The prefer-const rule in this case.
回答3:
Add this line just before the line which causes the error:
/* tslint:disable:no-unused-variable */
You will no longer receive the tslint error message.
This is a better solution than turning off the error for you whole codebase in tslint.conf because then it wouldn't catch variables that really aren't used.
回答4:
I am using typescript": "2.9.1"
with tslint": "^5.10.0
.
I was getting tons of error such as
Property 'logger' is declared but its value is never read.
Also, I observed that I was getting a warning when running ng-lint
$> ng lint
no-unused-variable is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.
So, I removed the no-unused-variable
rule fromt tslint.json
- and that seems to solve the problem for me.
回答5:
Another way to avoid this is to create a get-method for every variable you have, like this:
get variablename():variabletype{return this.variablename;}
来源:https://stackoverflow.com/questions/50011443/tslint-how-to-disable-error-somevariable-is-declared-but-its-value-is-never-rea