Подтвердить что ты не робот

Angular2 Селектор не соответствует элементам с пакетом и ECM6

У меня очень простой проект angular2, настроенный для работы с Gulp, Bundle и ECM6. Bundle создаст большой файл, который содержит переведенный ECM5 из angular плюс мое приложение.

<!DOCTYPE html>
<html>
<head>
    <title>Angular 2 Test</title>
    <script src="bundle.js"></script>
</head>

<body>
<mainapp>

</mainapp>
</body>
</html>

Приложение angular определяется следующим образом:

import {Component, View, bootstrap} from 'angular2/core';

export class mainComponent {
    static get annotations() {
        return [
            new Component({
                selector: 'mainapp'
            }),
            new View({
                template: `<div>Hello!</div>`
            })
        ];
    }
}

bootstrap(mainComponent);

Однако, когда я загружаю его, я продолжаю получать ошибку

"selector 'mainapp' did not match any element"
4b9b3361

Ответ 1

Проблема заключалась в том, что я включил bundle.js, прежде чем компонент mainapp был определен в HTML. Это устранило проблему.

<!DOCTYPE html>
<html>
<head>
    <title>Angular 2 Test</title>

</head>

<body>
<mainapp>

</mainapp>
<script src="bundle.js"></script>
</body>
</html>

Update:

<script src="bundle.js" defer></script>

Кажется, что проблема также решена независимо от порядка элементов.