微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角度2应用程序不加载,但我没有错误

当我加载我的typescript angular 2测试应用程序时,它没有按预期加载.

我总是看到“正在加载…”索引html文件中的my-app是什么.

在bowser控制台中我也没有错误:/

有人看到错误吗?

指数

<!DOCTYPE html>
<html>
<head>
    <Meta charset="utf-8" />
    <Meta name="viewport" content="width=device-width,initial-scale=1.0" />

    <title>test</title>
    <script src="~/lib/es6-shim.js"></script>
    <script src="~/lib/es6-promise.js"></script>
    <script src="~/lib/system-polyfills.js"></script>
    <script src="~/lib/angular2-polyfills.js"></script>
    <script src="~/lib/system.js"></script>
    <script src="~/lib/Rx.js"></script>
    <script src="~/lib/angular2.js"></script>
    <script src="~/lib/http.dev.js"></script>
    <script src="~/lib/router.dev.js"></script>
    <script>
            System.config({
                packages: {
                    app: {
                        format: 'register',defaultExtension: 'js'
                    }
                }
            });
            System.import('app/main')
                  .then(null,console.error.bind(console));
    </script>
</head>
<body>
    <my-app>Loading...</my-app>
</body>
</html>

main.ts

///<reference path="../node_modules/angular2/typings/browser.d.ts"/>

import {provide} from 'angular2/core';
import {bootstrap,ELEMENT_PROBE_PROVIDERS} from 'angular2/platform/browser';
import {HTTP_PROVIDERS} from 'angular2/http';
import {AppComponent} from './app.component'

bootstrap(AppComponent).catch(err => console.error(err));

app.component.ts

import {Component} from 'angular2/core';
 @Component({
    selector: 'my-app',// providers: [...FORM_PROVIDERS],//  directives: [...ROUTER_DIRECTIVES,Routeractive],pipes: [],styles: [],template: `   
        <h1>Hello {{ name }}</h1>       
   `
})
export class AppComponent {
    angularclasslogo = 'assets/img/angularclass-avatar.png';
    name = 'Angular 2 Webpack Starter';
    url = 'https://twitter.com/AngularClass';
    constructor() {

    }
}

解决方法

尝试研究伟大的Angular2 Plunker https://angular.io/resources/live-examples/quickstart/ts/plnkr.html(TypeScript)

您正在使用Typescript,但没有将其包含在HTML中并在systemjs中正确配置:

// Missing typescript transpiler
<script src="https://code.angularjs.org/tools/typescript.js"></script>

<script>
System.config({
    transpiler: 'typescript',// <-- missing!
    typescriptOptions: { emitDecoratorMetadata: true },packages: {'app': {defaultExtension: 'ts'}}   // <-- you have bad extension
});
System.import('app/main')             // <-- main.ts should be inside 'app' folder!
      .then(null,console.error.bind(console));
...
</script>

另外,我不认为在脚本的src属性中使用tilde~字符是可以的.

UPDATE

如果您已将.ts代码转换为.js,请确保在启用实验装饰器的情况下编译它 – 您的tsconfig.json应与此类似:

{
  "compilerOptions": {
    "target": "ES5","experimentalDecorators": true
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐