web-dev-qa-db-fra.com

Comment exporter un objet dans Typescript

Je convertis un projet JavaScript existant en script de type. je ne sais pas comment exporter l'objet pour obtenir cette sortie javscript

const path = require('path'),
      rootPath = path.normalize(__dirname + '/..'),
      env = process.env.NODE_ENV || 'development';

let config = {
  development: {
    amqpUrl: "amqp://localhost:15672",
    root: rootPath

  },
  test: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

  },
  production: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

  }
};
module.exports = config[env];

j'ai écrit TypeScript comme suit mais pas clair avec l'exportation

import path = require("path")

    const rootPath = path.normalize(__dirname + '/..')
    const env = process.env.NODE_ENV || 'development'

    let config = {
      development: {
        amqpUrl: "amqp://localhost:15672",
        root: rootPath

      },
      test: {
        amqpUrl: "amqp://localhost:5672",
        root: rootPath

      },
      production: {
        amqpUrl: "amqp://localhost:5672",
        root: rootPath

      }
    };

   /* this is the line i'm having problem how can i export config object*/
    // export config[env];

quand j'exporte, comment puis-je exporter juste un objet que j'ai essayé avec export default config[env] mais il génère quelque chose de déférence de la sortie attendue

11
Gayan

Dans ES6, vous êtes autorisé à exporter des noms à l'aide de la fonction d'exportation, ou par défaut, vous pouvez exporter n'importe quoi. Le format require se présente comme suit:

let config = require('config')

Et cela prend l'exportation par défaut du fichier de configuration. Dans votre cas, vous devez faire:

export default config[env]

Si vous souhaitez utiliser l'exportation, vous feriez quelque chose comme:

let Environment = config[env];
export {Environment}

La différence serait:

import EnvirmentNameWhatever from "./config"

à

import {Environment} from "./config"
  • Remarque - lors de l'exportation par défaut, vous pouvez utiliser le nom de votre choix, tandis que lors de l'exportation, vous devez utiliser le nom exporté.
19
Amit

L'utilisation du mot clé export sur les déclarations à exporter devrait faire le travail, comme ceci:

import path = require("path")

const rootPath = path.normalize(__dirname + '/..')
export const env = process.env.NODE_ENV || 'development'

export let config = {
    development: {
    amqpUrl: "amqp://localhost:15672",
    root: rootPath

    },
    test: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

    },
    production: {
    amqpUrl: "amqp://localhost:5672",
    root: rootPath

    }
};
10
daragua