Я хочу использовать различные конфигурации источников данных в приложении Strongloop. Я видел в https://docs.strongloop.com/display/public/LB/Environment-specific+configuration, что приоритет конфигураций:Приложение Strongloop не загружает локальный источник данных
- Environment-специфическая конфигурация, на основе стоимости NODE_ENV; например, server/config.staging.json.
- Локальный файл конфигурации; например, server/config.local.json.
- Файл конфигурации по умолчанию; например, server/config.json.
Я объявившие три DataSource конф файлы: datasources.json:
{}
datasources.local.json:
{
"db": {
"name": "db",
"connector": "loopback-connector-mongodb",
"host":"127.0.0.1",
"port": "27017",
"database": "woowDev"
}
}
и datasources.staging.js:
module.exports = {
db: {
connector: 'mongodb',
hostname: process.env.OPENSHIFT_MONGODB_DB_HOST,
port: process.env.OPENSHIFT_MONGODB_DB_PORT,
user: process.env.OPENSHIFT_MONGODB_DB_USERNAME,
password: process.env.OPENSHIFT_MONGODB_DB_PASSWORD,
database: 'woow'
}
};
Теперь, если я не задал конфигурацию datasources.local.json в datasources.json, она не работает. Я продолжаю получать ошибку: AssertionError: User is referencing a dataSource that does not exist: "db"
Я также попытался добавить локальный conf в промежуточную конфигурацию conf и определил переменную NODE_ENV, но не загрузил ни datasource.staging.js. Я определил NODE_ENV, выполнив:
export NODE_ENV=staging
Хм ... что если вы удалите в противном случае пустой файл 'datasources.json'? – jakerella
пробовал, не работает, что еще я могу попробовать? – Sanandrea
Возможно ли, что ваша текущая среда на самом деле 'staging'? Я вижу, что ваш исходный конфигурационный файл datasource * не имеет свойства 'name' в определении. Это понадобится независимо. – jakerella