2015-07-30 5 views
0

Ниже приведено плункер, начинающийся с шаблона angularjs 2 es6. http://goo.gl/IGaTZw Я добавил traceur и удалил main.es6.js, заменив main.js в случае вмешательства неявного режима.Как настроить теги скриптов для angularjs 2, написанные в Es6 для трансляции на Es5

<head> 
<script data-require="[email protected]" data-semver="0.0.88" src="https://cdn.rawgit.com/google/traceur-compiler/d3d0553de3315398a956dc2f9edd6a982d786b0a/bin/traceur-runtime.js"></script> 
<script src="https://jspm.io/system.js"></script> 
<script src="https://code.angularjs.org/2.0.0-alpha.30/angular2.dev.js"></script> 
</head>  

<body> 
<app></app> 
<script>System.import('main');</script> 
</body> 

Main.js -----

import { 
    ComponentAnnotation as Component, 
    ViewAnnotation as View, bootstrap 
} from 'angular2/angular2'; 

@Component({ 
    selector: 'app', 
    viewInjector: [Service] 
}) 
@View({ 
    template: '{{greeting}} world!' 
}) 
class App { 
    constructor(service: Service) { 
    this.greeting = service.greeting(); 
    setTimeout(() => this.greeting = 'Howdy,', 1000); 
    } 

}

class Service { 
    greeting() { 
    return 'Hello'; 
    } 
} 

bootstrap(App); 

Я пытался сделать локально, скачав файлы сценариев, но не там. Я не могу использовать npm и т. Д., Так как у меня проблема с моим ноутбуком.

Большое спасибо заранее.

+0

Пожалуйста, разместите достаточно информации и кода в своем вопросе, чтобы люди могли ответить на него. Ссылка на внешний сайт не помогает. – loganfsmyth

ответ

0

Для исправления включают трейсер опции:

System.config({ 
    traceurOptions: { 
    annotations: true 
} 

(аннотаций являются экспериментальными и должны быть включены вручную) добавить

import { Inject } from 'angular2/di'; 

и изменить аргумент конструктора App

constructor(@Inject(Service) service). 

Возможно также, что тип в конструкторе конструктор (услуга: Сервис) без добавления аннотаций до тех пор, пока вы добавляете типы: true для параметров трассировки.