2016-07-06 7 views
0

私はangular1アプリケーションからangular2アプリケーションを作成していました。 SystemJSは、依存関係(.jsファイル)を取得しようとしたときindex.html main.js(Angularjs2)の代わりにWebサーバーによって提供

Error: SyntaxError: Unexpected token < 
Evaluating https://localhost:8080/contents/app/main.js 
Error loading https://localhost:8080/contents/app/main.js 

Webサーバは、HTMLページが(したがって、予期せぬ返さ:NG-アプリディレクティブを削除し、system.configを追加した後、私は次のエラーが発生しましたhtmlで<を開きます)。

Chromeのデベロッパーツールの[ネットワーク]タブで、ダウンロードしたJavaScriptファイルを1つずつ確認して、HTMLが返された場所(この場合はmain.js)が見つかるまでこれを確認しました。

しかし、私はその情報で問題を解決できません。それを解決するアプローチは何でしょうか?

index.htmlを

<!doctype html> 

<head> 

    <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
    <meta name="apple-mobile-web-app-title" content="UpToDate" /> 


    <style type="text/css"> 
     #appContainer { 
      position: absolute; 
      top: 0; 
      right: 0; 
      bottom: 0; 
      left: 0; 
      background: url(/app/assets/utd-menu/utd-icon.png) no-repeat; 
      background-attachment: fixed; 
      background-position: center; 
      background-size: 48px 48px; 
     } 
    </style> 



    <!-- inject:app:css --><link rel="stylesheet" href="/app/assets/app-a9ca3a4af9.css"><!-- endinject --> 
    <!-- inject:pace:js --><script src="/app/dist/pace-fe9335c2fc.min.js"></script><!-- endinject --> 

    <!-- inject:system:js --><script src="/app/dist/system.src.js"></script><!-- endinject --> 


    <!-- inject:router:js --><script src="/app/dist/router.dev.min.js"></script><!-- endinject --> 
    <!-- inject:http:js --><script src="/app/dist/http.dev.min.js"></script><!-- endinject --> 
    <!-- inject:pollyfills:js --> <script src="/app/dist/system-polyfills.js"></script><!-- endinject --> 

    <base href="/index.html"> 

</head> 
<body> 
    <div id="appContainer"> 
     <header data-utd-header></header> 
     <div data-utd-loading-widget></div> 
     <div id="paceHolder"></div> 

    </div> 


    <!-- inject:ang:js --><script src="/app/dist/angular.min-1_4_8.js"></script><!-- endinject --> 
    <!-- inject:vendor:js --><script src="/app/dist/vendors-550a2bc2bc.min.js"></script><!-- endinject --> 

<script> 

     System.config({packages: {app: {format: 'register',defaultExtension: 'js'}}}); 
     System.config({ 
      map: { 
       'rxjs': 'node_modules/rxjs', 
       'angular2': 'node_modules/angular2', 
       'app': 'app' 
      }, 
      packages: { 
       'app': { 
        main: 'main.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/core': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/compiler': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/common': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/platform-browser': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/platform-browser-dynamic': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       '@angular/upgrade': { 
        main: 'index.js', 
        defaultExtension: 'js' 
       }, 
       'rxjs': { 
        defaultExtension: 'js' 
       } 
      } 
     }); 

     System.import('app/main').then(null, console.error.bind(console)); 
    </script> 

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

main.ts

import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from './app.component'; 

bootstrap(AppComponent); 
+0

severが間違ったデータを返す場合は、サーバー側で間違ったファイルが返される理由を確認する必要があります。サーバーにリダイレクト/リライトがありますか? –

+0

あなたは正しいです。ありがとうございました。回答として –

+0

を追加しました。応答/コメントのサーブ側コードの変更を追加してください。 –

答えて

0

サーバは間違ったデータを返しているならば、あなたはそれが間違ったファイルを返す理由をサーバー側で確認する必要があります。 可能な修正は、サーバー側のすべてのリダイレクト/リライトを修正して、正しいファイルを提供することです。

+0

私のサーバーでは、特定の「dist」フォルダの外のファイルをインポートすることはできません。

関連する問題