2017-01-21 16 views
0

モジュールを開発しました。このモジュールをアプリケーションからnode_modulesに取り込みたいと思います。しかし、エラーerror TS2307: Cannot find module 'bipartite-graph'.があります。bipartite-graphは自分のモジュールです。SystemJSのTypescript:独自のモジュールを見つけることができません

これは私のsystemjs.config.ts次のとおりです。

SystemJS.config({ 
    packages: { 
    app: { 
     main: './app.js', 
     defaultExtension: 'js' 
    }, 
    'bipartite-graph': { 
     main: './bipartite-graph.js', 
     defaultExtension: 'js' 
    }, 
    'rxjs': { 
     defaultExtension: 'js' 
    } 
    }, 
    map: { 
    app: 'app', 

    'rxjs': 'node_modules/rxjs', 

    'bipartite-graph': 'app/bipartite-graph' 
    } 
}); 

そして、これがapp.tsです:

import { Subject } from 'rxjs/Subject'; 
import BipartiteGraph from 'bipartite-graph'; 

let subject: Subject<boolean> = new Subject<boolean>(); 
let bg = new BipartiteGraph([35, 50, 40], [45, 20, 30, 30], [[8, 6, 10, 9], [9, 12, 13, 7], [14, 9, 16, 5]]); 

const n = 3, m = 4; 

let i = 1, j = 1; 
while (i <= n && j <= m) { 
    bg.setAmount(i, j, Math.min(bg.getCapacity(i), bg.getDemand(j))); 
    bg.setCapacity(i, bg.getCapacity(i) - bg.getAmount(i, j)); bg.setDemand(j, bg.getDemand(j) - bg.getAmount(i, j)); 
    if (bg.getCapacity(i) === 0) { 
    i = i + 1; 
    } else { 
    j = j + 1; 
    } 
} 

bg.draw(); 

プロジェクトtranspilesと、最終的なアプリがエラーなしで動作しますが、WebstormがウントTSCがエラーをスローします。比較のためにrxjsを輸入しましたが、私は決定的な違いは見つかりません。私は何が欠けていますか?私はモジュールをnode_modulesに入れようとしましたが、パスはsystemjs.config.tsに変更されましたが、それは役に立ちませんでした。プロジェクト全体はprojectにあります。

答えて

1

bipartite-graphモジュールは、あなたのsystemJS設定を読み込んでいないので、typescriptコンパイラはあなたのbipartite-graphモジュールを見つけられません。 tsconfig.jsonファイルをまだ追加していない場合は、baseUrlとpathオプションを設定して追加する必要があります。

{ 
    "compilerOptions": { 
    "baseUrl": ".", 
    "paths": { 
     "bipartite-graph": ["app/bipartite-graph"], 
     ...other path mappings 
    } 
    } 
} 

このトピックの詳細は、公式ドキュメントで見つけることができます:https://www.typescriptlang.org/docs/handbook/module-resolution.html

関連する問題