2016-12-23 4 views
1

私は実際にtypescriptに新しいので、ここで何か不足しているか、概念を完全に理解していない可能性があります。 TSconfigのでは私はcompilerOptionsに次のように定義されています:私はroute_fileによってエクスポートされたモジュールをインポートする場合Typescriptアブソリュートモジュールパスが正しくコンパイルされない

+ server 
 
| + routes 
 
| | + util 
 
| | - config.routes.ts 
 
| - route_file.ts 
 
-tsconfig.json

{ 
 
    baseUrl: ".", 
 
    paths: { 
 
    "*": ["server/*"] 
 
    } 
 
}

は、次のディレクトリ構造を仮定すると、 config.routes.tsの.ts:

import * as routes from 'routes/route_file.ts';

活字体は問題なくパスを解決します。コンパイル済みのJSは、しかし、同じリテラルパスでモジュールを必要とします。パスは../route_fileあるべきなモジュールが検出されませんので

const routes = require('routes/route_file')

これは明らかに問題です。私のプロジェクトにはかなりのサブディレクトリがあり、可能ならば../../../から離れたいと考えていました。コンパイラにインポートファイルのディレクトリをチェックさせ、そのファイルに関連するrequireパスを更新する方法はありますか?

+0

'/ server/route_file'のような絶対パスからインポートしようとしましたか? ? –

+0

こんにちは@ Zofskeez、私は同じ質問をして、答えを見つけました、多分これはいくつかの助けのことができます:http://stackoverflow.com/questions/43657948/create-module-containing-all-exports-in-typescript/43886685 #43886685 – Jacks

答えて

0

ここで問題となるのは、tsconfigはtypescriptコンパイラにタイプ情報を見つける場所だけを伝えることです。パスの解決はwebpackのようなバンドラーの仕事です。 JavaScriptを実行しているランタイムです。
webpackで作業している設定を見たい場合は、数週間前に設定した反応でサンプルをチェックすることができますhttps://github.com/kaoDev/react-ts-sample

関連する問題