Bagaimana untuk mengeksport secara dinamik dalam skrip taip
漂亮男人
漂亮男人 2017-06-26 10:53:08
0
3
931

Tidak lama selepas saya bersentuhan dengan TypeScript, saya kini perlu menulis semula projek sebelumnya menggunakan ts. Saya menghadapi masalah:
ORM db dalam projek itu perlu digunakan sebelum ia boleh digunakan . Sila lihat kod js asal:

    //const Redis =  require('redis')
    let initRedis = function(port, host){
         return new Promise((success, fail) => {
             module.exports.redis = Redis.createClient(port, host);
             success();
         })
    }
    

Berikut ialah kod ts yang saya tukar:

    const initRedis = function (port:number, host:string): Promise<void> {
        return new Promise((success,fail)=>{
            export let redis = Redis.createClient(port, host);
            success();
        })
    }

Ralat dihadapi:

 error TS1184: Modifiers cannot appear here.

Bagaimana saya boleh mengeksport redis dengan betul selepas melaksanakan kaedah initRedis?

漂亮男人
漂亮男人

membalas semua(3)
女神的闺蜜爱上我
// xxx.ts
export function initRedis() {}

gunakan

import { initRedis } from 'xx';
扔个三星炸死你

Ini adalah mustahil.
Modul taip adalah mematuhi piawaian modul ES6, dan kedua-dua import dan eksport adalah statik.

Tetapi anda boleh menggunakan kod seperti berikut untuk melakukan beberapa penyelesaian.

// 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']()
phpcn_u1582

Boleh rujuk di sini https://blogs.msdn.microsoft....

2.4 sudah disokong. Saya akan menulis contoh kepada anda apabila saya pulang dari kerja

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!