我无法弄清楚为什么在VSCode中使用react typescript项目,tslint设置会出现错误:
“公共”只能在.ts文件中使用。
[实际上也是为什么我没有得到通常的变量a,也从未读取/使用过警告/错误]
tsconfig.json
{
"compilerOptions": {
"plugins": [
{
"name": "typescript-tslint-plugin"
}
]
},
}
tslint.json
{
"defaultSeverity": "error",
"extends": ["tslint:recommended", "tslint-react"],
"jsRules": {},
"rules": {
"semicolon": [true, "never"]
},
"rulesDirectory": []
}
package.json
{
"name": "test-amplify-1",
"version": "0.1.0",
"private": true,
"dependencies": {
"@types/jest": "24.0.1",
"@types/node": "11.9.0",
"@types/react": "16.8.2",
"@types/react-dom": "16.8.0",
"react": "^16.8.1",
"react-dom": "^16.8.1",
"react-scripts": "2.1.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"tslint": "^5.12.1",
"tslint-react": "^3.6.0",
"typescript": "^3.3.3",
"typescript-tslint-plugin": "^0.3.1"
}
}
vscode扩展
内置的(即没有触摸)
已使用本地软件包(打字稿/ tslint)进行了设置,但仅供参考:
答案 0 :(得分:0)
我认为默认情况下未启用tsx,您是否尝试过将jsx添加到tsconfig文件中?
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
// "target": "es5",
"removeComments": true,
"jsx": "react",
"allowJs": false,
"baseUrl": "src",
"experimentalDecorators": true,
"alwaysStrict": true,
"lib": [
"es2015"
],
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
],
"awesomeTypescriptLoaderOptions": {
"useCache": true,
"useTranspileModule": true,
"transpileOnly": true
}
}
答案 1 :(得分:0)
您的问题可能已经在此得到解答。以下是有关我认为的更多详细信息。
js 'types' can only be used in a .ts file - Visual Studio Code using @ts-check
我最终可以看到我正在运行tslint 1.0.0版本。另外,您的打字稿版本可能有问题。如果您使用的是Typescript 2.3或更早版本,则启用潮汐功能时,html文件将被视为Typescript文件。将打字稿更新为2.4.1。同时更新打字稿/语言服务。将以下内容添加到tsconfig.json。可能是因为您使用的版本不对。
关于为什么a
变量为什么抱怨为unused
的问题,答案是您已经声明了一个变量,但尚未在代码中的任何地方使用它,因此可以忽略此类警告。在代码中的某处使用该变量后,该警告将消失。因此,更改角度版本,然后查看警告是否会消失。通常,tslint
应该能够检测到.ts
文件并正常工作。