2015-10-25 20 views
12

私は大きなプロジェクトでrequirejsを使用しています。このプロジェクトはすぐにangular2にアップグレードされます。system.jsでrequire.jsを置き換えることができます

Angular2はsystem.jsを使用しているので、system.jsに切り替えることも考えています。 requirejsライブラリへの参照を削除し、代わりにsystem.jsをインクルードして動作させるべきか、ここで理解できないものがありますか?

代わりにrequire.jsファイルを削除し、代わりにsystem.jsファイルを追加しましたが、defineが定義されていないというエラーメッセージが表示されます。 お手伝いできますか? system.jsに加えてrequire.jsも必要ですか?

+0

を追加されていない角2.0はまだSystemJSを使用するか、それもあるんWebpackと互換性がありますか? –

+2

これは両方とも互換性があります – rgullhaug

答えて

8

私はsystem.jsにも切り替えました。 require.jsをsystem.jsに置き換えて、単純なスクリプトタグを追加する必要があります。だから、次のようになります。上記の手順に加えて

<script src="~/lib/system.js/dist/system.js" type="text/javascript"></script> 
<script> 
    // set our baseURL reference path 
    System.config({ 
     baseURL: '/app' 
    }); 
    System.import('startup.js'); 
</script> 
+0

そして、以前からrequirejsを使用している既存のファイルで何も変更せずに作業しましたか? – rgullhaug

+0

ええ、どのバージョンのsystem.jsを使用していますか? – Rem

+4

私はそれを働かせました。問題は、define関数とrequire関数がグローバルスコープで使用できないということでした。私はこのようにしなければならなかった:window.define = System.amdDefine; window.require = window.requirejs = System.amdRequire; – rgullhaug

3

はデフォルトsystemjs

System.defaultJSExtensions = true;

を設定する拡張.js

関連する問題