recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment exporter dynamiquement en tapuscrit

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 ?

漂亮男人漂亮男人2714 Il y a quelques jours957

répondre à tous(3)je répondrai

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-26 10:55:08

    // xxx.ts
    export function initRedis() {}

    utiliser

    import { initRedis } from 'xx';

    répondre
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-26 10:55:08

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

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-06-26 10:55:08

    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

    .

    répondre
    0
  • Annulerrépondre