2016-09-22 4 views
0

I'dはRxJs(5.0.0-Beta.6)活字体(1.8.10)を用いJSのLibを作成したいです。TypeScriptを使用したRxJ:Web用のProductionファイルの生成方法

私の単純なタイプスクリプトファイルがコンパイルされています。

MyLib.ts:私はこのファイルを持っている

/// <reference path="../../typings/globals/es6-shim/index.d.ts" /> 
import * as Rx from 'rxjs/Rx'; 
Rx.Observable.of('foo', 'bar'); 

tsconfig.json:

{ 
    "compilerOptions": { 
     "module": "commonjs" 
     ,"target": "es5" 
     ,"sourceMap": true 
    }, 
    "files": [ 
     "src/MyLib.ts" 
    ] 
} 

- 私JSファイルと、それを生成するために一気-typescriptですを使用してこのファイルを生成してください:

MyLib.js:

"use strict"; 
var Rx=require("rxjs/Rx"); 
Rx.Observable.of("foo","bar"); 

は今、私はHTMLでこのファイルを持っている必要があります。

  • RxJs 5.0.0ベータ版6 >> node_modules/rxjs /バンドル/ Rx.min.js

  • SystemJS 0.19.38 >> node_modules/systemjs:私はこれらのものをコピーしたようRxJsは、依存関係を必要とします/dist/system.js

  • requireJS 2.3.2 >> node_modules/requirejs/require.js

これが私のHTMLです:

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 

 
    <meta charset="UTF-8"> 
 
    <title>MyLib Test</title> 
 

 
    <script src="vendor/require.js"></script> 
 
    <script src="vendor/system.js"></script> 
 
    <script src="vendor/Rx.min.js"></script> 
 
    <script src="MyLib.js"></script> 
 

 
</head> 
 
<body> 
 

 
</body> 
 
</html>

私の問題:

- 私クロームコンソールでこのエラーを取得:

不明なエラー:モジュール名 "rxjs/Rxが" されていませんコンテキストのためにまだロードされていません:_。

RxJとTypeScriptで作成されたこのシンプルなJS:MyLib.jsをロードできませんでした。

私の問題は何ですか?どのように修正できますか?

答えて

1

あなたはモジュールローダーを設定するのを忘れています(何らかの理由でそれらの2つ(requireとsystemjs)が含まれています)。

は1つだけを残す必要があるとsystemjsであなたのhtmlはと幾分ようになります。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>MyLib Test</title> 
    <script src="vendor/system.js"></script> 
    <script> 
     System.config({ 
      paths: { 
       "rxjs": 'vendor/rx/dist/rx.min' 
      }  
     }); 

     System.defaultJSExtensions = true; 

     //This will bootstrap your app 
     System.import('myLib').catch(function(e) 
     { 
      console.error(e); 
     });; 
    </script> 
</head> 
<body> 

</body> 
</html> 

・ホープ、このことができます。

関連する問題