TSLint жалуется, что соответствующий файл module.id @Component не включен в tsconfig.json (в WebStorm)

Простая проблема в WebStorm:

@Component moduleId: module.id ошибка tslint: соответствующий файл не включен в tsconfig.json

Кроме того, tsc жалуется на:

error TS2304: Cannot find name 'module'.

Я ищу либо:

  1. Например, ключ jshint "predef", который позволяет игнорировать глобальные переменные, определенные выше области активной проверки. , или же
  2. Чтобы добавить некоторую аннотацию или импортировать в мой @Component, что я забыл разрешить TSLint видеть module, который приходит из SystemJS.

Важно отметить, что я не хочу добавлять в код //noinspection TypeScriptUnresolvedVariable, потому что этот шаблон moduleId: module.id хорошо известен для Angular2 и требуется в каждом отдельном компоненте, который у нас есть. Это не похоже на то, что следует систематически игнорировать.

Я заметил, что TSLint имеет директиву ignore-pattern, но это подмножество no-unused-variable, это не то, что я ищу.

Я использую WebStorm 2016.2.4 с TSLint 2 локально. Вот мой tsconfig.json:

{
  "version": "2.0.3",
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "dist",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es6",
    "module": "system",
    "moduleResolution": "node",
    "removeComments": true,
    "sourceMap": true,
    "noImplicitAny": true,
    "allowSyntheticDefaultImports": true
  },
  "typeRoots": [ "node_modules/@types" ],
  "filesGlob": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

я тоже пробовал

"compilerOptions" {
  "target": "es5",
  "module: "commonjs",
  ... }

Но безрезультатно.


person msanford    schedule 28.10.2016    source источник
comment
Вы установили @types/node?   -  person pe8ter    schedule 28.10.2016
comment
@pe8ter Хороший вопрос! Да, но это другая проблема. У меня действительно есть npm i "@types/node", но tsc также всегда жалуется на node_modules/@types/node/index.d.ts(283,40): error TS1110: Type expected., хотя это кажется несвязанным.   -  person msanford    schedule 28.10.2016
comment
Несколько вещей выглядят не так в вашем tsconfig.json: typeRoots принадлежит вcompileOptions, а filesGlob следует переименовать, чтобы включить. typescriptlang.org/docs/handbook/tsconfig-json.html   -  person pe8ter    schedule 28.10.2016
comment
Используете ли вы встроенный в WebStorm компилятор TypeScript? 2016.2.4 поставляется с компилятором TypeScript версии 1.8.10. Вам нужно указать его на более новую версию.   -  person pe8ter    schedule 28.10.2016
comment
@ pe8ter Я действительно использую TS2 (я указал расположение пользовательского TypeScript в моей папке node_modules/typescript/lib/).   -  person msanford    schedule 28.10.2016
comment
Не могли бы вы попробовать ./node_modules/typescript/bin/tsc -v. Тип ошибки, ожидаемый в строке 283, относится к типу, допускающему значение NULL, который доступен только в TS 2. Это говорит о том, что вы все еще используете TS 1.x.   -  person pe8ter    schedule 29.10.2016
comment
Он ушел сам по себе, по какой-то причине. Спасибо за вашу помощь!   -  person msanford    schedule 04.01.2017


Ответы (1)


Я предполагаю, что это было вызвано чем-то преходящим, так как я не видел его несколько недель.

person msanford    schedule 04.01.2017