«public» можно использовать только в файле .ts »в машинописной установке tslint реакции? - PullRequest
0 голосов
/ 14 февраля 2019

Я не могу понять, почему в VSCode с проектом реагирующего машинописного текста с настройкой tslint я получаю сообщение об ошибке:

'public' может использоваться только в файле .ts.

[На самом деле также, почему я не получаю обычную переменную, а также никогда не читается / используется предупреждение / ошибка]

enter image description here

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 extensions

enter image description here

встроенные (т.е. ничего не трогали)

enter image description here

были настроены с локальными пакетами (машинопись / tslint)но для справки:

enter image description here

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Ваш вопрос, возможно, уже был дан ответ в этом.Ниже приводится дополнительная информация о том, что я думаю. js 'types' можно использовать только в файле .ts - код Visual Studio с помощью @ ts-check
В конце я вижу, что у меня установлена ​​версия tslint 1.0.0.Кроме того, ваша версия машинописного текста может быть проблемой.Если вы используете машинописный текст 2.3 или более ранней версии, HTML-файлы будут обрабатываться как машинописные файлы, когда прилив включен.Обновить машинопись до 2.4.1.Также обновите машинопись / язык-сервис.Добавьте следующее в tsconfig.json.Это может быть из-за вашей угловой версии.
Ваш вопрос о том, почему переменная a жалуется как unused, ответом будет то, что вы объявили переменную, но еще нигде не использовали ее в коде, вы можете игнорировать такое предупреждение,Как только вы используете эту переменную где-то в коде, это предупреждение исчезнет.Итак, измените угловую версию и посмотрите, пойдет ли предупреждение.Обычно tslint должен обнаруживать .ts файл и работать.

0 голосов
/ 14 февраля 2019

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
  }
}
...