久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - 在typescript中如何動(dòng)態(tài)export

瀏覽:132日期:2023-06-04 10:18:36

問(wèn)題描述

接觸typescript不久,現(xiàn)需要把以前的項(xiàng)目用ts重寫(xiě)一遍,遇到一個(gè)問(wèn)題: 項(xiàng)目中db的orm都需要實(shí)例化才能使用,說(shuō)明比較困難,請(qǐng)看原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();}) }

遇到的錯(cuò)誤:

error TS1184: Modifiers cannot appear here.

請(qǐng)問(wèn) 如何才能正確的在執(zhí)行initRedis方法后再導(dǎo)出redis?

問(wèn)題解答

回答1:

// xxx.tsexport function initRedis() {}

use

import { initRedis } from ’xx’;回答2:

這個(gè)是做不到的。 Typescript的模塊是標(biāo)準(zhǔn)符合 ES6 的模塊標(biāo)準(zhǔn), import 和 export 都是static的。

不過(guò)你可以使用類(lèi)似下面的代碼來(lái)做一些workaround。

// dynamic.tsconst _dynamic = {}export function addDynamic() { _dynamic[’Redis’] = function () { console.log(’I am redis’) }}export const DYNAMIC = _dynamic

// app.tsimport { addDynamic, DYNAMIC } from ’@/models’addDynamic()DYNAMIC[’Redis’]()回答3:

可以參考這里 https://blogs.msdn.microsoft....

2.4是已經(jīng)支持了,等下班回家給你寫(xiě)個(gè)范例

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 屏东市| 澎湖县| 五指山市| 普格县| 清丰县| 涞源县| 澄江县| 九寨沟县| 射阳县| 大连市| 沙雅县| 冕宁县| 宁河县| 玉门市| 北川| 海城市| 玉树县| 望奎县| 宁安市| 曲松县| 长汀县| 沈丘县| 昂仁县| 英德市| 华宁县| 瓦房店市| 长垣县| 新宁县| 武强县| 阳泉市| 宁海县| 衡水市| 新营市| 彩票| 交口县| 五家渠市| 南京市| 横山县| 乌鲁木齐市| 佛山市| 杭锦旗|