简单的Angular 2应用程序会出现“潜在的未处理拒绝”错误

时间:2015-08-19 11:09:13

标签: javascript angular

我有这个非常基本的例子:

的index.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>FlyLeaf</title>
        <script src="js/lib/system.js"></script>
        <script src="js/lib/angular2.dev.js"></script>
    </head>
    <body>

        <main-app></main-app>

        <script>
            System.config({
                paths: {
                    'app.js': 'js/app.js'
                }
            });
            System.import('app.js');
        </script>

    </body>
</html>

和app.js内部:

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

@Component({
    selector: 'main-app'
})
@View({
    directives: [CSSClass, NgFor],
    template: `
        <h1>My first Angular 2 App</h1>
    `
})

class MainApp {
    constructor() {
        this.footerLinks = [];
    }
}

bootstrap(MainApp);

并准确地给出了我的错误:

"Potentially unhandled rejection [3] Error loading "app.js" at http://localhost/HelloWorld/js/app.js
http://localhost/HelloWorld/js/app.js:3:1: Unexpected token @ (WARNING: non-Error used)"

我看到它在一个plunker上工作,在本地它没有...... :(

(在Firefox和Chrome上)

1 个答案:

答案 0 :(得分:2)

对于我可以看到错误的内容,您遗漏了traceur,这将允许您使用注释

请在HTML中添加此内容(请参阅6. Declare the HTML下的文档中添加的内容)

<script src="https://github.jspm.io/jmcriffey/bower-traceur-runtime@0.0.87/traceur-runtime.js"></script>

并在您的System.config中添加这些选项

System.config({
    traceurOptions: {
       annotations: true,
       types: true,
       memberVariables: true
   },
//...

最后,作为建议,请像这样使用System.import

System.import("your.app").catch(console.log.bind(console));

通过这种方式,您将能够发现更多错误。

试一试,你应该好好去。