2016-05-25 69 views
0

visual studio 2015アプリケーションでtypescriptを使用してangle 2アプリケーションを構築しようとしています。角度リリース候補1を使用しています。Error:XHRエラー(404 Not Found)読み込みhttp:// localhost:3622/app.js(...)+ angular 2

アプリケーションの実行中にブラウザのコンソールに次のエラーメッセージが表示されます。

のindex.html:24エラー:XHRエラー(404が見つかりません)ロードhttp://localhost:3622/app.js(...)

app.jsファイルを検索しようとしている理由を私は理解できません。私は開始ページとしてindex.htmlを設定しました。

以下のコードに見られるように、私はデータテーブルにデータを表示しようとしています。

私のフォルダ構造

enter image description here

Index.htmlと

見つけてください、私はsystemjs.jsファイルのセットアップを持っているかとかのindex.htmlファイルでsystem.importステートメントを使用して、すべての問題はあります
<!DOCTYPE html> 
<html> 

<head> 
    <title>Angular 2 Application</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> 


    <!-- 1. Load libraries --> 
    <!-- Polyfill(s) for older browsers --> 
    <script src="node_modules/core-js/client/shim.min.js"></script> 
    <script src="node_modules/zone.js/dist/zone.js"></script> 
    <script src="node_modules/reflect-metadata/Reflect.js"></script> 
    <script src="node_modules/systemjs/dist/system.src.js"></script> 
    <script src="node_modules/primeui/primeui-ng-all.min.js"></script> 

    <!-- 2. Configure SystemJS --> 
    <script src="systemjs.config.js"></script> 
    <script> 
     System.import('app').catch(function (err) { console.error(err); }); 
    </script> 

</head> 

<body> 
    <my-app>Loading..</my-app> 
</body> 

</html> 

Systemjs.config.js

(function (global) { 

    // map tells the System loader where to look for things 
    var map = { 
     'app': 'app', // 'dist', 
     'rxjs': 'node_modules/rxjs', 
     'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
     '@angular': 'node_modules/@angular', 
     'primeng': 'node_modules/primeng' 
    }; 

    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     '.': { main: 'main.js', defaultExtension: 'js' }, 
     'rxjs': { defaultExtension: 'js' }, 
     'angular2-in-memory-web-api': { defaultExtension: 'js' }, 
    }; 

    var packageNames = [ 
     '@angular/common', 
     '@angular/compiler', 
     '@angular/core', 
     '@angular/http', 
     '@angular/platform-browser', 
     '@angular/platform-browser-dynamic', 
     '@angular/router', 
     '@angular/testing', 
     '@angular/upgrade', 
     '@angular/router-deprecated' 
    ]; 

    // add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' } 
    packageNames.forEach(function (pkgName) { 
     packages[pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    }); 

    var config = { 
     map: map, 
     packages: packages 
    } 

    // filterSystemConfig - index.html's chance to modify config before we register it. 
    if (global.filterSystemConfig) { global.filterSystemConfig(config); } 

    System.config(config); 

})(this); 

main.ts

import { bootstrap } from '@angular/platform-browser-dynamic'; 

// Our main component 
import { AppComponent } from './app/app.component'; 


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

app.component.ts

import { Component } from '@angular/core'; 
import { RiskListComponent } from './components/risks/risk-list.component'; 
import { DataTable, Column } from 'primeng/primeng'; 


@Component({ 
    selector: 'my-app', 
    providers: [], 
    template: ` 
    <div> 
     <h1>{{pageTitle}}</h1> 
      <rm-risks> </rm-risks> 
    </div> 
    ` , 
    directives: [RiskListComponent, DataTable, Column] 

}) 

export class AppComponent { 
    pageTitle: string = 'Test UK Trader'; 
} 

リスクlist.component.ts

import { Component } from '@angular/core' 
import { DataTable, Column } from 'primeng/primeng'; 

@Component({ 
    selector: 'rm-risks', 
    directives: [DataTable, Column], 
    templateUrl: '/app/risks/risk-list.component.html' 



    }) 

export class RiskListComponent { 
    pageTitle: string = 'Risk List'; 
    risks: any[] = [ 
     { 
      "riskId": 1, 
      "reference": "HISC9308336", 
      "insuredName": "SA 84161", 
      "inceptionDate": "March 19, 2016", 
      "riskType": "Quote", 
      "status": "Indication", 
      "grossPremium": "100", 
      "allocatedTo": "Broker User", 
      "allocatedCompany": "Broker" 
     }, 
     { 
      "riskId": 2, 
      "reference": "HISC9308340", 
      "insuredName": "Upper Loi", 
      "inceptionDate": "April 25, 2016", 
      "riskType": "Quote", 
      "status": "Indication", 
      "grossPremium": "312.22", 
      "allocatedTo": "Andy Marples", 
      "allocatedCompany": "Broker" 
     } 
    ]; 
} 

リスクlist.component.html

<h3 class="first">{{pageTitle}}</h3> 

<p-dataTable [value]="risks" [rows]="10" [paginator]="true" [pageLinks]="3" [rowsPerPageOptions]="[5,10,20]"> 
    <p-column field="reference" header="Reference"></p-column> 
    <p-column field="insuredName" header="Insured Name"></p-column> 
    <p-column field="inceptionDate" header="Inception Date"></p-column> 
    <p-column field="riskType" header="Risk Type"></p-column> 
    <p-column field="status" header="Status"></p-column> 
    <p-column field="grossPremium" header="Gross Premium"></p-column> 
    <p-column field="allocatedTo" header="Allocated To"></p-column> 
    <p-column field="allocatedCompany" header="Allocated Company"></p-column> 
</p-dataTable> 

tsconfig.js

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "noEmitOnError": true, 
    "noImplicitAny": false, 
    "outDir": "../dist/", 
    "rootDir": ".", 
    "sourceMap": true, 
    "target": "es6", 
    "inlineSources": true 
    }, 
    "exclude": [ 
    "node_modules", 
    "typings", 
    "typings/main", 
    "typings/main.d.ts" 

    ] 
} 
+0

あなたの 'tsconfig.json'も投稿できますか?しかし、それを見ることなく、 'index.html'に' System.import( 'main')とcatch(function(err){console.error(err);}); ( 'app'をインポートする代わりに) – rinukkusu

+0

がtsconfig.jsを追加しました – Tom

+0

system.importにmainを置くと、エラー:エラー:XHRエラー(404 Not Found)というメッセージが表示され、http:// localhost:3622/main.js(...) – Tom

答えて

3

私はappフォルダの下main.tsファイルを移動し、それをこのようにインポートします:

<script> 
    System.import('app/main').catch(function (err) { console.error(err); }); 
</script> 

SystemJSの場合もこの設定が必要です。

var packages = { 
    'app': { main: 'main.js', defaultExtension: 'js' }, 
    'rxjs': { defaultExtension: 'js' }, 
    'angular2-in-memory-web-api': { defaultExtension: 'js' }, 
}; 
+0

彼は 'tsconfig.json'でも' outDir'を使っています。 – rinukkusu

+0

次のエラーが表示されます。http:// localhost:3622/app/main.jsリソースの読み込みに失敗しました:サーバが404のステータスで応答しました(見つからない) index.html:24エラー:エラー:XHRエラー見つからない)http:// localhost:3622/app/main.js(...)(匿名関数)@ index.html:24 – Tom

+0

アプリケーションフォルダ – Tom

関連する問題