Node.js 设置与 everyauth 一起使用的环境特定配置

2023-11-21

我正在使用node.js + express.js + everyauth.js。我已将所有 everyauth 逻辑移至模块文件中

var login = require('./lib/everyauthLogin');

在其中,我使用密钥/秘密组合加载我的 oAuth 配置文件:

var conf = require('./conf');
.....
twitter: {
    consumerKey: 'ABC', 
    consumerSecret: '123'
}

这些代码对于不同的环境(开发/暂存/生产)是不同的,因为回调是针对不同的 url。

问题:如何在环境配置中设置这些以过滤所有模块,或者我可以将路径直接传递到模块中吗?

在环境中设置:

app.configure('development', function(){
  app.set('configPath', './confLocal');
});

app.configure('production', function(){
  app.set('configPath', './confProduction');
});

var conf = require(app.get('configPath'));

Pass in

app.configure('production', function(){
  var login = require('./lib/everyauthLogin', {configPath: './confProduction'});
});

?希望这是有道理的


我的解决方案,

使用加载应用程序

NODE_ENV=production node app.js

然后设置config.js作为函数而不是对象

module.exports = function(){
    switch(process.env.NODE_ENV){
        case 'development':
            return {dev setting};

        case 'production':
            return {prod settings};

        default:
            return {error or other settings};
    }
};

然后根据 Jans 解决方案加载文件并创建一个新实例,在本例中,如果需要,我们可以传入一个值process.env.NODE_ENV是全球性的,所以不需要。

var Config = require('./conf'),
    conf = new Config();

然后我们就可以像以前一样访问配置对象属性

conf.twitter.consumerKey
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 设置与 everyauth 一起使用的环境特定配置 的相关文章

随机推荐

  • Facebook Javascript SDK open-graph:为自定义故事添加自定义对象时出错

    我创建了一个名为 意见 的自定义对象来围绕它构建自定义故事 我正在尝试使用 javascript sdk 从我的网站添加一些应用程序拥有的对象 facebook 给我的示例代码是 FB api me objects namespace op
  • 禁用特定包的日志记录

    我正在我的应用程序中实现 python 日志记录 并且我希望能够利用 默认 根设置 我想使用根设置 因为我不想在配置文件中为每个模块定义一个记录器 当我打开根记录器的调试级别日志记录时 我遇到了 QPID Python 客户端 API 的问
  • 不允许浅层更新 (git > 1.9)

    有很多答案指出 git 1 9 消除了浅层克隆的限制 尽管如此 我正在使用 2 6 1 但仍然存在以下基本问题 首先 我在某处创建一个空的存储库 cd tmp mkdir target cd target git init 然后 我浅克隆一
  • 通过 Unity 获取同一消息的多个消费者在 MassTransit 中不起作用

    我最近遇到了很多问题 因为似乎是一个错误MassTransit UnityIntegration包 主要是因为没有考虑注册名称 例如 如果我像这样注册我的课程 var container new UnityContainer Registe
  • 测试时出现“mpromise(猫鼬的默认承诺库)已弃用”错误[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直收到此错误 我决定今天修复它 但经过一个小时的尝试修复后 我可以找到解决方案 当我测试我的猫鼬用户模型时 会生成此错误 警告 Mongoose mpromise mongoose s defa
  • DOMParser 注入 DOM 但注入后不应用 css 样式表?

    我有一个小测试用例 http jsfiddle net 9xwUx 1 代码归结为以下内容 给定一个 id 为 target 的节点 var string div class makeitpink this should be pink b
  • JavaScript - 如何停止鼠标移动

    没有 jQuery 可能 如何使用 JavaScript 禁用 停止鼠标移动 该怎么做 如果鼠标被移动到 比方说 position left lt 300 禁用鼠标移动以防止进一步向该方向移动 那可能吗 Pointer Lock API 可
  • 强制 Postgres 使用 UTF8 编码安装,而不是 LATIN1?

    我正在尝试在 Vagrant 盒子上设置 CartoDB 按照此处的说明进行操作 然而 它一直失败 因为它抱怨 Postgres 已使用 Latin 1 编码安装 我不明白为什么 Postgres 这样做 因为我明确强制所有本地设置为 UT
  • 列出在线 FTP 目录中的所有文件到列表视图 C#

    我和其他正在阅读此内容的人如何将在线目录中的所有文件列出到列表视图 这是要列出的本地目录的代码我想知道是否有一种方法可以连接到 FTP 网站并列出文件 FolderBrowserDialog folderPicker new FolderB
  • Facebook:安全错误,该网站的安全证书存在问题

    某些用户在 Android Facebook 浏览器中查看链接时会收到此错误 我们的 SSL 是最新且有效的 而且它不会发生在桌面浏览器或 iOS Facebook 应用程序中 这可能有两件事 您网站上的证书无效 或者可能链在某处损坏 如t
  • html标签使用大写字母是不是不好?

    最佳实践是什么 or 为什么我们应该坚持某一特定案例 然而 所有浏览器似乎都会解释这两种情况并返回预期的输出 小写的 要求 是 xHTML 的遗产 xHTML 明确要求它 另一方面 普通的旧 HTML 不遵循 XML 严格的结构要求 因此没
  • 如何在 VS 2010 中出现第一个错误时停止 C# 编译(VS 2008 宏不起作用)!

    新的信息 这个问题已经被在这里再次询问并且已经正确地诺亚 理查兹回答使用适用于 VS 2010 的解决方案 在工作中 我们有一个包含 80 多个项目的 C 解决方案 VS 2010 中可以吗自动地一旦遇到错误就停止编译 而不是尽可能继续并在
  • 当我在 4.0 中构建 EF 模型时,将其更新为使用 4.1

    我在 EF 4 0 中构建了 EF 模型 然后安装了包含新 DBContext 接口的 4 1 升级版 如何更新我的模型以使其使用 4 1 的功能 谢谢 您可以将 DbContext 与 EDMX 模型结合使用 安装 EFv4 1 后 您应
  • jqplot 并排堆积条形图

    是否可以使用 jqplot 实现并排堆叠条形图 例如 X 轴是给定的月份 每个月都会有一定数量的堆叠条形 像这样的东西 注意 我要求的是与普通堆叠图表不同的东西 请查看图片以更好地理解我想要做什么 没有人为 jqplot 创建此功能 Thi
  • 403 禁止 - Nginx - 使用正确的凭据

    我正在尝试用密码保护 Nginx 支持的站点上的目录 其中包含 phpMyAdmin MemcacheMyAdmin 和更多管理实用程序等内容 该目录位于我网站的根目录中 domain com control 我的服务器上的绝对路径位于 h
  • 在地图上显示移动标记

    我正在尝试移动标记 不会消失并再次出现 当车辆在道路上行驶时在地图上显示 我有两个 latLng 值 我想在这两个值之间移动标记 直到车辆发送下一个点 然后再次重复该过程 我尝试过的 这不是一个非常有效的方法 我知道 我的想法是使用以下几点
  • WaterfallStep Dialog MS Bot 框架 v4 的自适应卡响应

    我正在尝试发送一张自适应卡 其中有 2 个选项供用户选择 当用户提交来自自适应卡的响应时 我收到 Newtonsoft Json JsonReaderException Error reading JArray from JsonReade
  • 自动化测试 OpenXML SDK

    我正在使用内容控件和 OpenXML SDK 实现 MS Word 文档生成 我想对该代码进行一些自动化测试 单元测试或一些简单的 UI 自动化测试 有人有测试 MS Word 文档生成的经验吗 有哪些可能的选择 提前致谢 不 我还没有对
  • WPF 选项卡控件样式

    我的用户界面具有相当标准的外观和感觉 它的左侧有一列图标 单击时会在右侧打开一个不同的用户控件 目前 我对选择图标和用户控件包含使用单独的控件 我遇到了奇怪的焦点问题 我厌倦了尝试缓解这些问题 并且想知道是否可以将选项卡控件设计为看起来像我
  • Node.js 设置与 everyauth 一起使用的环境特定配置

    我正在使用node js express js everyauth js 我已将所有 everyauth 逻辑移至模块文件中 var login require lib everyauthLogin 在其中 我使用密钥 秘密组合加载我的 o