接觸typescript不久,現在需要把以前的專案用ts重寫一遍,遇到一個問題:
專案中db的orm都需要實例化才能使用,說明比較困難,請看原js程式碼:
//const Redis = require('redis')
let initRedis = function(port, host){
return new Promise((success, fail) => {
module.exports.redis = Redis.createClient(port, host);
success();
})
}
以下為我轉換的ts程式碼:
const initRedis = function (port:number, host:string): Promise<void> {
return new Promise((success,fail)=>{
export let redis = Redis.createClient(port, host);
success();
})
}
遇到的錯誤:
error TS1184: Modifiers cannot appear here.
請問 如何才能正確的在執行initRedis方法後再匯出redis?
雷雷
使用
雷雷這個是做不到的。
Typescript的模組是標準符合 ES6 的模組標準, import 和 export 都是static的。
不過你可以用類似下面的程式碼來做一些workaround。
可以參考這裡 https://blogs.msdn.microsoft....
2.4是已經支持了,等下班回家給你寫個範例