第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在typescript中如何動態(tài)export

在typescript中如何動態(tài)export

犯罪嫌疑人X 2018-11-13 17:17:50
接觸typescript不久,現(xiàn)需要把以前的項目用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();         })    }    以下為我轉(zhuǎn)換的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.請問 如何才能正確的在執(zhí)行initRedis方法后再導出redis?
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

這個是做不到的。 
Typescript的模塊是標準符合 ES6 的模塊標準, import 和 export 都是static的。

不過你可以使用類似下面的代碼來做一些workaround。

// dynamic.ts


const _dynamic = {}


export function addDynamic() {

  _dynamic['Redis'] = function () {

    console.log('I am redis')

  }

}


export const DYNAMIC = _dynamic

// app.ts

import { addDynamic, DYNAMIC } from '@/models'


addDynamic()

DYNAMIC['Redis']()


查看完整回答
反對 回復(fù) 2018-12-25
  • 1 回答
  • 0 關(guān)注
  • 416 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號