Angular 2:如何提供`--module system --experimentalDecorators` flags?

Angular 2: how to provide `--module system --experimentalDecorators` flags?

我在编译 TypeScript 文件时遇到问题:

app/app.component.ts

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    template: '<h1>Messenger</h1>'
})
export class AppComponent { }

TypeScript 编译器returns

Error:(1, 1) TS1148: Cannot compile modules unless the '--module' flag is provided.
Error:(1, 25) TS2307: Cannot find module 'angular2/core'.
Error:(7, 14) TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Specify '--experimentalDecorators' to remove this warning.

在 tsconfig.json 中提供标志没有任何作用。

tsconfig.json

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

我的项目树:

.
├── app
├── node_modules
├── typings
├── application.js
├── messages.js
├── package.json
├── tsconfig.json
└── typings.json

我将 RubyMine 8 用作 IDE

我做错了什么?还有其他方法可以提供我的标志吗?

如果您使用的是捆绑的 TypeScript 编译器,请转至 File > Settings > Languages & Frameworks > TypeScript

您可以单击 set options manually 单选按钮,然后在 Command line options 文本框中输入参数。 See the list of available arguments

这就是您提供命令行参数的方式。

Use tsconfig.json 无需提供任何命令行参数即可为我工作。

我可能遗漏了什么,但我认为你的 app.component.ts

第一行有两个错误
import {Component} from 'angular2/core';

应该是

import { Component } from '@angular2/core';

导入和大括号之间的 space 以及 angular2 之前的 '@' 符号给我带来了很多很多的痛苦。