2017-10-24 18 views
1

tsconfig.jsonファイルでpathsプロパティを使用しようとしています。tsconfigのPathsプロパティが機能しない

これは完全にビルド作業を行いますが、生成されたjsの実行に失敗しています。

マイtsconfig.json:

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
     "outDir": "./dist", 
     "baseUrl": "./src", 
     "paths": { 
      "core/*": [ 
       "core/*" 
      ] 
     }, 
     "sourceMap": true, 
     "declaration": false, 
     "moduleResolution": "node", 
     "emitDecoratorMetadata": true, 
     "experimentalDecorators": true, 
     "target": "es5", 
     "typeRoots": [ 
      "node_modules/@types" 
     ] 
    }, 
    "include": [ 
     "src/**/*" 
    ] 
} 

のsrc /コア/ service.ts:

export class Service { 
    public static log(message: string) { 
     console.log('message', message); 
    } 
} 

のsrc /コア/ index.ts:

export * from './service'; 

のsrc /インデックス。 ts:

import { Service } from 'core'; 

Service.log('test'); 

ビルドが完全に

作業しかし、私は取得のdist \のindex.jsを実行している:

エラー:モジュールを見つけることができません 'コア'

私が何か間違ったことをやっていますか?ご支援のための https://github.com/BUONJG/typescript-paths.git

多くのおかげで、

あなたは coreと呼ばれる外部モジュールを参照しようとしている

+0

私は同様の問題を抱えています。今までにそれを理解することができましたか? –

答えて

0

ジャンガイ:

私はこれを説明するためのレポをしました。 './core'、 './core/index'などの相対パスが必要です。

+0

私の話題は、絶対パスのインポートを行うことです。私はこのように、サブディレクトリ内で../../../../core –

+0

のようなインポートでサービスを呼び出さないようにしたいのですが、 "。"の代わりに "/"で始まります。これは、tsconfigで定義された作業領域をルートとして使用します。それらのどちらかで始める必要があります。そうでなければ、それは外部モジュールであるとみなされます。また、質問のどこかで「絶対」と言えば、助けになっただろう。 – zeh

+0

ありがとうございます。私は '/ core'をインポートしようとしましたが、動作しません。 –

関連する問題