Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
277 views
in Technique[技术] by (71.8m points)

javascript - How do I export an object in TypeScript?

For example, I'm trying to export a TS object to get this JavaScript output:

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];

This is my TS, but it's not clear with exporting,

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];

I've tried export default config[env] but its generated output isn't expected. What am I doing wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

In ES6 you are allowed to export names using the export function, or for default you can export anything. The require format goes like this:

let config = require('config')

And it takes the default export of config file. In your case, you should do:

export default config[env]

If you want to use the export, you would do something like:

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

The difference would be:

import EnvirmentNameWhatever from "./config"

to

import {Environment} from "./config"
  • Note - when default exporting, you can use whatever name you like, while when just exporting, you have to use the exported name.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...