So exportieren Sie dynamisch in Typoskript
漂亮男人
漂亮男人 2017-06-26 10:53:08
0
3
953

Ich bin kürzlich mit Typoskript in Kontakt gekommen und muss jetzt das vorherige Projekt mit ts neu schreiben. Dabei ist ein Problem aufgetreten:
Der ORM der Datenbank im Projekt muss instanziiert werden, bevor er verwendet werden kann Bitte schauen Sie sich den Original-JS-Code an:

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

Das Folgende ist der TS-Code, den ich konvertiert habe:

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

Fehler aufgetreten:

 error TS1184: Modifiers cannot appear here.

Wie kann ich Redis korrekt exportieren, nachdem ich die initRedis-Methode ausgeführt habe?

漂亮男人
漂亮男人

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

use

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

这个是做不到的。
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']()
phpcn_u1582

可以参考这里 https://blogs.msdn.microsoft....

2.4是已经支持了,等下班回家给你写个范例

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage