2016-01-29 9 views
9

webpackを使用してangular2アプリを開発しようとしていますが、ブラウザコンソールにエラーが表示されます:Uncaught ReferenceError:システムが定義されていません。webpackが 'System.register'としてバンドルされている理由

私がバンドルされてJSに見たとき、私はそれが以下のようにSystem.registerを使用していましたが:

function(module, exports) { 

    System.register(['angular2/platform/browser', './app.component'], function(exports_1) { 
     var browser_1, app_component_1; 
     return { 
      setters:[ 
       function (browser_1_1) { 
        browser_1 = browser_1_1; 
       }, 
       function (app_component_1_1) { 
        app_component_1 = app_component_1_1; 
       }], 
      execute: function() { 
       browser_1.bootstrap(app_component_1.AppComponent); 
      } 
     } 
    }); 
    // ... 

私webpack.config.jsは、以下のように非常に単純です:

var webpack = require('webpack'); 

module.exports = { 
    context: __dirname, 
    entry: "./app/boot.ts", 
    devtool: 'inline-sourcemap', 

    output: { 
     path: __dirname + "/dist", 
     filename: "bundle.js" 
    }, 

    module: { 
     loaders: [ 
      {test: /\.ts$/, loader: 'ts-loader'} 
     ] 

    } 
}; 

ことができます誰か私のために修正?ありがとう。あなたがあなたのアプリケーションをバンドルするのWebPACKを使用している場合は、commonjsにあなたのコードをtranspileしなければならない@Ron

によって示唆されるように

+2

webpackを使用している場合は、コードを 'commonjs'に置き換えてください。 tsconfig.jsonファイルに移動し、 'module'を' commonjs'に変更してください。 –

+0

エリック、あなたは私を救った。あなたはそれに答えてください、私はそれをマークします。 – Ron

答えて

11

。解決方法は、tsconfig.jsonのmodulecommonjsに変更することです。ここで

// tsconfig.json 
"module" : "commonjs" 

は@ocombe によって@ gdi2290
  • ng2-webpackにより、@ pkozlowski - オープンソース
  • angular2-webpack-starterによって

    • ng2-webpack-play参考にすることができangular2使用WebPACKのためのシードリポジトリのリストです

      追加で、私はを見ることをお勧めしますPawel by AngularConnect2015

  • +1

    は私にとって役に立たない – Ivanesses

    関連する問題