tl; dr:模塊分辨率不適用?Typescript2路徑模塊分辨率
你好,
我正在玩Typescript2模塊分辨率功能。
我注意到,現在可以指定 「路徑」,這樣就可以做到以下幾點:
老辦法
import {a} from "../../../foo"
新方式
import {a} from "services/foo"
要做到這一點,你需要添加一些配置到你的tsconfig.json
"compilerOptions": {
"baseUrl": ".",
"paths": {
"services/*": ["./application/core/services/*"],
}
}
問題是我編譯時導入實際上沒有改變。我的JavaScript輸出仍然包含從「services/foo」導入,所以在運行時顯然會在我的節點服務器上崩潰。
我用一口-打字稿編譯我的javascript文件:
var tsProject = ts.createProject("tsconfig.json");
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject()).js
.pipe(sourcemaps.write("../api"))
.pipe(gulp.dest(function(file) {
return file.base;
}));
我完全失去了這裏,並願意使用該模塊的分辨率,這樣我可以從移開../../地獄的進口。任何幫助將不勝感激!