Angular2 jspm gulp typescript неожиданный токен @

Я только начал изучать angular 2 и все связанные с ним технологии, и я пытаюсь использовать gulp-jspm-build для создания минимизированных и «скомпилированных» версий моих файлов .ts. Проблема в том, что я получаю эту ошибку, и я не знаю, как ее решить. Могу ли я получить некоторую помощь, пожалуйста

SyntaxError: app/menu/component.ts: Unexpected token (8:0)
   6 | import {OnInit} from "@angular/core/metadata/lifecycle_hooks";
   7 | 
>  8 | @Component({
     | ^
   9 |     selector: '[menu]',
  10 |     templateUrl: 'app/menu/template.html',
  11 | })
  at Parser.pp.raise...

У меня нет файла typings.json, это связано с этим?


person Victor    schedule 01.07.2016    source источник


Ответы (1)


Во-первых, вам нужно сообщить вашему транспилятору, что вы работаете с декораторами, так как они пока не поддерживаются нативно (в tsconfig.json или в конфигурации grunt/gulp):

{
    "compilerOptions": {
        ...
        "experimentalDecorators": true, <- here

И тогда вам нужно импортировать класс компонента из angular:

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

Подробнее здесь.

К вашему вопросу о typings.json это не относится. Этот файл используется типизациями (npm install -g typings) для управления типами машинописных текстов. Это помогает вашему транспайлеру и вашей IDE понять, как вы используете внешние библиотеки, написанные на ES6 или ES5 (без машинописных типов). Подробнее см. здесь.

person Leogout    schedule 01.07.2016