Comment exporter dynamiquement en tapuscrit
漂亮男人
漂亮男人 2017-06-26 10:53:08
0
3
952

Je suis récemment entré en contact avec TypeScript, et maintenant je dois réécrire le projet précédent en utilisant ts. J'ai rencontré un problème :
L'ORM de la base de données dans le projet doit être instancié avant de pouvoir être utilisé. L'explication est difficile. , veuillez regarder le code js original :

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

Voici le code ts que j'ai converti :

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

Erreur rencontrée :

 error TS1184: Modifiers cannot appear here.

Comment puis-je exporter correctement Redis après avoir exécuté la méthode initRedis ?

漂亮男人
漂亮男人

répondre à tous(3)
女神的闺蜜爱上我
// xxx.ts
export function initRedis() {}

utiliser

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

C'est impossible.
Les modules Typescript sont conformes à la norme de module ES6, et l'importation et l'exportation sont statiques.

Mais vous pouvez utiliser un code comme celui-ci pour effectuer certaines solutions de contournement.

// 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

Vous pouvez vous référer ici https://blogs.msdn.microsoft....

2.4 est déjà pris en charge. Je vous écrirai un exemple en rentrant du travail

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal