[英]Is there a way to alias the import path in typescript
import X = require('../../far/away/PathToX');
import Y = require('./another/path/PathToX');
我正在使用外部模塊(commonJS)和browserify,並使用WebStorm作為編輯器。
如果這只是普通的javascript,則可以使用各種選項來忽略必須始終使用這些長路徑,例如使用browserify別名。 但是,使用打字稿時,編輯器實際上會遵循該路徑並檢索打字信息以提供智能感知。 因此,如果使用這些選項之一,則編輯器將找不到文件路徑,並且編譯器也會引發錯誤。
那么打字稿中是否有任何現有方法(適用於任何編輯器)允許我以某種方式使用路徑別名?
有一點技巧可以做到,但是您必須手動編寫AMD或CommonJS導入...例如,像這樣...
///<amd-dependency path="scripts/typings/cordova/cordova.d.ts" />
declare var require: any;
var cordova: Cordova = require('cordova');
module Example {
class Test {
constructor() {
cordova.exec(this.success, this.error, "Service", "Action", null);
}
private success(message?: string) {
//do Something
}
private error(message?: string) {
//do Something
}
}
}
或者使用define
而不是require
。
就我個人而言,我會走很長的路,以獲得使用TypeScript編譯器開關為我定位AMD或CommonJS的好處,而無需重寫任何TypeScript。
那么打字稿中是否有任何現有方法(適用於任何編輯器)允許我以某種方式使用路徑別名?
Grunt-ts可以為您做到這一點。 您可以通過ts:import=someFileName
簡單引用,它將為您生成正確的import
語句https://github.com/TypeStrong/grunt-ts#import-transform
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.