angular2: Не удается найти модуль '@angular/core'

Я последовал за угловым быстрым запуском, чтобы создать свой проект, и все работает нормально, но моя командная строка tsc -w продолжает рассказывать мне:

app/components/company/company.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/company/company.ts(5,22): error TS2307: Cannot find module '@angular/router'.
app/components/mission/mission.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/mission/mission.ts(3,22): error TS2307: Cannot find module '@angular/router'.

И есть много другой такой линии. Тем не менее, все скомпилировано успешно, и мое приложение работает нормально, но очень неприятно иметь все эти предупреждения/ошибки, как реальные ошибки, что-то теряется посреди них.

Я использую Angular2 rc1, TypeScript 1.8.10, WebStorm EAP (хотя я не использую систему компиляции WebStorm TypeScript, я полагаюсь на открытый терминал с командной строкой tsc -w ".

Я проверил другой вопрос, связанный с этим на SO, но я не нашел ничего, что действительно помогло мне.

Обновить

Вот мой файл tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "system",
    "noImplicitAny": false,
    "outDir": "js",
    "rootDir": "app"
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

Ответы

Ответ 1

Вы должны использовать атрибут moduleResolution для node:

{
  "compilerOptions": {
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "system",
    "moduleResolution": "node", // <-----
    "noImplicitAny": false,
    "outDir": "js",
    "rootDir": "app"
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}

Ответ 2

Сначала вам нужно добавить типизацию на глобальном уровне, как показано ниже.

npm install -g typings

Затем создайте typings.json, используя команду ниже.

typings init

Вставить под кодом в typings.json

{
  "name": "ng2-application",
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160909174046"
  }
}

Теперь вам нужно добавить код ниже в tsconfig.json

 "compilerOptions": {
        "moduleResolution": "node"
       }

После выполнения вышеуказанных шагов вы сможете получить определения на F12.