2016-10-14 11 views
0

私はいくつかのテストを追加しようとしている働くAngular 2プロジェクトを持っています。今テストで私はwebpackを追加しましたが、オンラインの調査では解決できない問題があります。
キャッチされていないにReferenceError:ここで私は、ブラウザで取得するにErrorMessageがあるシステムを/ローカルホストで定義されていません:8
キャッチされないにReferenceError:システムがsystemjs.config.jsで定義されていません。ここでは42

私structurを:
http://imgur.com/a/dMVfp
ここに私のindex.html:Webpackとの角2がUncaughtを取得しましたReferenceError:システムが定義されていません

<html> 
<head> 
    <title>PQM Monitor</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="src/css/styles.css"> 
    <script> 
     System.import('/src/app').catch(function(err){console.error(err);}); 
    </script> 
    <script src="systemjs.config.js"></script> 
    <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/ng2-bs3-modal/bundles/ng2-bs3-modal.js"></script> 
    <script src="node_modules/chart.js/dist/Chart.bundle.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script> 
    <link href="src/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="src/images/favicon.png" rel="icon" type="image"/> 
    <base href="/src"> 
</head> 
<body> 
<info>Loading...</info> 
<script src="src/js/jquery.min.js"></script> 
<script src="src/js/bootstrap.min.js"></script> 
</body> 
</html> 

ここに私のsystemjs.config.js:

/** 
* System configuration for Angular 2 samples 
* Adjust as necessary for your application needs. 
*/ 
(function(global) { 
    // map tells the System loader where to look for things 
    var map = { 
     'app':       'dist', //'src/app', 
     '@angular':      'node_modules/@angular', 
     'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
     'rxjs':       'node_modules/rxjs', 
     'polyfill':      'node_modules/babel-polyfill', 
    }; 
    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     'app':       { main: 'main.js', defaultExtension: 'js' }, 
     'rxjs':       { defaultExtension: 'js' }, 
     'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, 
    }; 
    // packages tells the System loader how to load when no filename and/or no extension 
    var ngPackageNames = [ 
     'common', 
     'compiler', 
     'core', 
     'forms', 
     'http', 
     'platform-browser', 
     'platform-browser-dynamic', 
     'router', 
     'router-deprecated', 
     'upgrade', 
    ]; 
    // Individual files (~300 requests): 
    function packIndex(pkgName) { 
     packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    } 
    // Bundled (~40 requests): 
    function packUmd(pkgName) { 
     packages['@angular/'+pkgName] = { main: 'bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 
    } 
    // Most environments should use UMD; some (Karma) need the individual index files 
    var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 
    // Add package entries for angular packages 
    ngPackageNames.forEach(setPackageConfig); 
    var config = { 
     map: map, 
     packages: packages 
    }; 
    System.config(config); 
})(this); 


答えて

1

あなたは、あなたのシステムのインポート位置は、system.src.jsファイルのインポート後に呼ばれています確かに、それをインポートする前に簡単な変更をシステムを呼び出している:おかげでたくさん、私は自分自身ことを見てきたはずです

<html> 
<head> 
    <title>PQM Monitor</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="src/css/styles.css"> 
    <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/ng2-bs3-modal/bundles/ng2-bs3-modal.js"></script> 
    <script src="node_modules/chart.js/dist/Chart.bundle.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script> 
    <script src="systemjs.config.js"></script> 
    <link href="src/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="src/images/favicon.png" rel="icon" type="image"/> 
    <base href="/src"> 
</head> 
<body> 
<script> 
    System.import('/src/app').catch(function(err){console.error(err);}); 
</script> 
<info>Loading...</info> 
<script src="src/js/jquery.min.js"></script> 
<script src="src/js/bootstrap.min.js"></script> 
</body> 
</html> 
+0

Systemjs.config.jsファイルの "Uncaught ReferenceError:System is not defined"というエラーがまだあります。あなたはそれを解決する方法を知っていますか? – Bono

+0

ああ確かに、システム設定ファイルのインポートを、htmlの例のシステムファイルの後ろに移動させてください。 – Supamiu

+0

それは私の質問された問題を解決しました。もう一度ありがとうございます。しかし、今私は "エラー:(SystemJS)予期しないトークン<(...)"任意のアイデアをどのように修正するか? – Bono

関連する問題