Quiero exportar la const config
del archivo config.js
en la aplicación CommonJs.
const config = { development: { client: 'pg', connection: { database: 'myDatabase', user: 'myUser', host: 'localhost', password: 'password', port: PORT, ssl: { rejectUnauthorized: false } }, server: { host: '127.0.0.1', port: 'PORT2' } } module.exports = config;
y en index.js
requiero eso como
var env = process.env.NODE_ENV || 'development'; const config = require('./config')[env]; const knexDB = knex({ client: config.client, connection: { database: config.database, user: config.user, host: config.host, password: config.password, port: config.port, ssl: { rejectUnauthorized: false } } });
Pero en el archivo de configuración. IntelliSense recomienda cambiar module.exports
a export
ES que no quiero hacer y mantener la aplicación CommonJS. también, objeto de configuración en index.js Tengo este error:
Property 'host' does not exist on type '{ development: { client: string; connection: { database: string; user: string; host: string; password: string; port: number; ssl: { rejectUnauthorized: boolean; }; }; server: { host: string; port: string; }; }; production: { ...; }; }'.ts(2339)
¿Cómo puedo exportar la configuración desde config.js?
Está obteniendo la propiedad incorrecta de config . Debe ser config.development.host
. renuncie al vscode que solicita un módulo CommonJS. Déjelo en paz. También tienes 2 opciones más para configurar tus datos constantes.
yarn add dotenv
npm install config
Verifique que el archivo de configuración de su base de datos esté dentro de config.development.connection pero lo está leyendo desde la configuración.
const knexDB = knex({ client: config.development.client, connection: { database: config.development.connection.database, user: config.development.connection.user, host: config.development.connection.host, password: config.development.connection.password, port: config.development.connection.port, ssl: { rejectUnauthorized: false } }
Pero en lugar de usar config o env
bueno, encontré una manera de evitarlo. ¡Eliminé la connection
del development
y funcionó! solo mencione que usé config.connection.client
y config.development.connection.client
u otras variables en la conexión, pero aún no funciona en index.js
. por lo que parece
const config = { development: { client: 'pg', database: 'myDatabase', user: 'myUser', host: 'localhost', password: 'password', port: PORT, ssl: { rejectUnauthorized: false } server: { host: '127.0.0.1', port: 'PORT2' } } module.exports = config;
y en index.js
a eso como
const configure = require('./config.js')[env]; const knexDB = knex({ client: configure.client, connection: { database: configure.database, user: configure.user, host: configure.host, password: configure.password, port: configure.port, ssl: { rejectUnauthorized: false } } });
gracias a todos por su aporte.