私は両方のローカルインポートを持つことができるタイプスクリプトモジュール解決策がありますはスラッシュで始まり、同じモジュール内のnode_modulesからインポートしますか?それは私がインポートしようとしているnode_modulesディレクトリ内のモジュールを参照していない他のすべてのオプションで、私のローカルモジュールを見つけることができませんコンパイラ「ノード」に設定された「moduleResolution」とtypescriptモジュールの解像度
。
私は私のファイルに次のインポートを持っている:
import {Injectable} from "angular2/core";
import {Logger} from "core/logging/Logger";
"angular2 /コアは" node_modulesに位置して、 "コア/ログ/ Loggerは、" 私の地元のモジュールです。
私はあなたが角度のコードを見れば、彼らは両方、すなわちを持っているように見える、それが可能であるべきだと思います。 https://github.com/angular/angular/blob/master/modules/angular2/src/http/http.ts
import {Injectable} from 'angular2/core'; //this is local
import {Observable} from 'rxjs/Observable'; //this probably comes from node_modules
詳しい背景情報::http.tsモジュールに
私は2つのサブプロジェクトからなるプロジェクトがあります。
を - ライブラリ
- アプリ
ライブラリは、アプリは、その後使用するいくつかのユーティリティを定義します。私のビルドプロセスが最初のアプリ 『「、次にコンパイルし、アプリのnode_modules』で「ライブラリ」サブフォルダにコピーし、それを(d.tsファイルと一緒にコンパイルJS)は、「ライブラリ」のサブプロジェクトをビルドします。 'ライブラリ' で
私は次のクラスがあります: 'アプリ' で
//file project/library/jsonparser/JSONParser.ts
class JSONParser {...}
//file project/library/services/ConfigurationService.ts
import {JSONParser} from "../jsonparser/JSONParser"
class ConfigurationService {
constructor(parser: JSONParser){ ... }
}
を:
import {JSONParser} from "library/jsonparser/JSONParser" //this comes from node_modules in 'app'
import {ConfigurationService} from "library/services/ConfigurationService" //from node_modules
class AppConfigurationService extends ConfigurationService {
constructor(parser: JSONParser) {
super(parser);
}
}
これは、(彼らは、すぐJSONParserは、任意の非publicフィールドを持っているとしてコンパイルされませんこれら2つの異なる種類がありtypescriptですために)2つの異なる場所から輸入。私は2つのスタートにスラッシュせずに私のモジュールをインポートしようとしている理由です。しかし、おそらく他の解決策がありますか?