javascript – Strongloop应用程序不加载本地数据源

我想在Strongloop应用程序中使用不同的环境特定的数据源配置.我在 https://docs.strongloop.com/display/public/LB/Environment-specific+configuration看到配置的优先级是:

>环境特定的配置,基于NODE_ENV的值;
例如server / config.staging.json.
>本地配置文件;
例如server / config.local.json.
>配置文件;
例如server / config.json.

我已经声明了三个数据源conf文件
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:用户正在引用一个不存在的数据源:“db”

我也尝试将本地conf添加到staging conf并定义变量NODE_ENV,但它不会加载datasource.staging.js.我通过这样做来定义NODE_ENV:

export NODE_ENV=staging

解决方法

我用 node-debug跟踪这个问题.它来自这个特别的源强力文件
node_modules/loopback-boot/lib/config-loader.js

功能

function mergeDataSourceConfig(target,config,fileName) {
  for (var ds in target) {
    var err = applyCustomConfig(target[ds],config[ds]);
    if (err) {
      throw new Error('Cannot apply ' + fileName + ' to `'  + ds + '`: ' + err);
    }
  }
}

如果在主文件,即datasources.json中未定义“db”键,则不会合并配置.

所以,我刚刚将datasources.json修改为:

{
  "db": {}
}

它工作!

也许这是我的错,但文件不够清楚.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式。‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型:
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:重建二叉树、反向输出链表每个节点 题目 重建二叉树: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 {1,2,4,7,3,5,6,8} 和中序遍历序列 {
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须了解的知识点,现在迎来了ES6+的时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,所以刚好总结一下JavaScript中this指向的问题。
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)