配置 属性 "dialect" 未定义
Configuration property "dialect" is not defined
我在使用配置 npm 包设置项目时遇到问题。
我的 config.js 看起来像这样:
require('dotenv').config();
const { DB_HOST, DB_USERNAME, DB_PASSWORD, SENDGRID_API_KEY } = process.env;
const env = process.env.NODE_ENV;
const config = {
development: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_development",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
},
test: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_test",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
},
production: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_production",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
}
};
module.exports = config[env];
在 1 个服务驱动程序文件中,我有以下行:
const dialect = config.get('dialect');
我收到以下错误:“错误:配置 属性 “方言”未定义”。
我也尝试过使用 'development.dialect',但这也无济于事。
有没有可能是 require('config');
不起作用?
在我的 Sequelize 的 index.js 文件中我得到了
const config = require(__dirname + '/../config/config.js');
这似乎工作正常。
这个 github 存储库提供了使用 config 包的一个很好的例子。
https://github.com/basarbk/tdd-nodejs
备注:
- 对于不同的配置,您必须有一个名为您用于
NODE_ENV
的文件。例如,为 "start": "cross-env NODE_ENV=production node index"
创建一个名为 production.js
的文件
检查根目录中的配置文件夹
- 如果您使用 window,您应该使用 cross-env。
我在使用配置 npm 包设置项目时遇到问题。
我的 config.js 看起来像这样:
require('dotenv').config();
const { DB_HOST, DB_USERNAME, DB_PASSWORD, SENDGRID_API_KEY } = process.env;
const env = process.env.NODE_ENV;
const config = {
development: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_development",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
},
test: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_test",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
},
production: {
username: DB_USERNAME,
password: DB_PASSWORD,
database: "database_production",
host: DB_HOST,
dialect: "postgres",
sendgrid: {
base_url: 'https://localhost:3002',
sendgrid_api_key: SENDGRID_API_KEY,
sender_email: '',
enabled: true,
},
}
};
module.exports = config[env];
在 1 个服务驱动程序文件中,我有以下行:
const dialect = config.get('dialect');
我收到以下错误:“错误:配置 属性 “方言”未定义”。
我也尝试过使用 'development.dialect',但这也无济于事。
有没有可能是 require('config');
不起作用?
在我的 Sequelize 的 index.js 文件中我得到了
const config = require(__dirname + '/../config/config.js');
这似乎工作正常。
这个 github 存储库提供了使用 config 包的一个很好的例子。
https://github.com/basarbk/tdd-nodejs
备注:
- 对于不同的配置,您必须有一个名为您用于
NODE_ENV
的文件。例如,为"start": "cross-env NODE_ENV=production node index"
创建一个名为production.js
的文件 检查根目录中的配置文件夹 - 如果您使用 window,您应该使用 cross-env。