Reputation: 2871
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?
Upvotes: 39
Views: 105968
Reputation: 1193
Using the export
keyword on the declarations to export should do the job, like this:
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
}
};
Upvotes: 27
Reputation: 6304
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"
Upvotes: 50