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 一起使用的环境特定配置 的相关文章

  • 使用任何节点模块在内存中创建 ZIP 文件

    是否有任何节点模块可以在内存中创建 zip 我不想将 zip 文件保存在磁盘上 以便我们可以将这个创建的 zip 文件发送到其他服务器 从内存 做这个的最好方式是什么 这是我的例子 var file system require fs va
  • 不要在查询字符串 stringify 中对 url 进行编码

    有什么选择吗qs stringify那将not对网址进行编码 node gt var qs require querystring undefined gt qs stringify url http domain com url http
  • 使用 Typescript 实现 Express 控制器类

    我正在用打字稿做一个快速应用程序 路由器代码是 let user new User router get user test 用户类别是 export class User test req res next this undefined
  • 设置ejs在express中查看文件夹的查找路径

    I have app js in Express 服务器文件夹 aap js 的完整位置是I WEB Development Node Express server 我做了views该位置的文件夹I WEB Development Node
  • 在 Node.js 中以事务方式写入文件

    我有一个 Node js 应用程序 它将一些配置数据存储在文件中 如果更改某些设置 配置文件将写入磁盘 目前 我正在使用一个简单的fs writeFile 现在我的问题是 当 Node js 在写入文件时崩溃时会发生什么 磁盘上是否有可能存
  • 将实时流音频从 NodeJS 服务器获取到客户端

    我需要从 1 个客户端到服务器到多个侦听器客户端的实时实时音频流 目前 我正在从客户端进行录音 并通过 socket io 将音频流式传输到服务器 服务器接收此数据 并且必须将音频流式传输 也通过 socket io 到想要收听此流的客户端
  • NodeJS - 将相对路径转换为绝对路径

    In my 文件系统我的工作目录在这里 C temp a b c d 在 b bb 下有文件 tmp txt C temp a b bb tmp txt 如果我想从工作目录转到该文件 我将使用以下路径 bb tmp txt 如果该文件不存在
  • Firebase 身份验证和实时应用程序数据库如何保护自身安全?

    从一般开发的角度来看 我很好奇如何保护在线资源的访问 我们使用以下 Firebase 配置参数初始化 Web 应用程序 apikey authdomain projectid databaseurl messagesenderid 服务器如
  • 在同一迭代中过滤和映射

    我有一个简单的情况 我想过滤并映射到相同的值 如下所示 const files results filter function r return r file map function r return r file 为了节省代码行并提高性
  • DiscordJS中如何在没有缓存的情况下获取语音频道中的用户?

    我正在尝试让所有用户连接到我的服务器上的语音通道 当有人与机器人交谈时 general 我想让用户进去Voice Channel 1 我正在使用 Node 17 和 DiscordJS 13 这是我的代码 message guild cha
  • 少吞咽然后缩小任务

    我必须在 gulp 中执行 2 个步骤 减少 css 文件格式 缩小生成的 css 文件 这是我的吞咽文件 var gulp require gulp watch require gulp watch less require gulp l
  • Node.js Google-云存储上传目的地规范

    我有一个 Node js 服务器并且正在使用谷歌云上传一些图像文件的包Firebase 存储 上传本身工作正常 但 google cloud API 似乎只能将文件上传到 Firebase Storage 根文件夹 有没有办法指定远程位置来
  • jest 无限期挂起,不运行任何测试

    每次我运行 jest 时它都不会运行任何东西 我已经让计数器任意升高 我用 no cache 运行 jest jest debug 输出如下 configs automock false browser false cache true c
  • 如何与使用 child_process.spawn 创建的新创建的服务器交互

    我正在尝试为我的私人托管的 反恐精英全球攻势 服务器制作一个前端 当我点击运行服务器时 在前端 一切正常 服务器启动并记录到控制台 但是如何查看服务器IP地址 服务器中的玩家等信息呢 这是我到目前为止运行服务器的内容 router post
  • Node.js 找不到模块“mongodb”

    我正在经历我的第一个 Node js 项目 我已经安装了 mongodb 有一个 server js 文件 当我尝试运行它时 出现此错误 module js 340 throw err Error Cannot find module mo
  • 如何以非root用户身份运行node.js?

    我正在运行一个 node js 服务器 它将服务端口 80 上的请求等 显然 这需要应用程序以 root 身份运行 在 Linux 上 正在看这个帖子 http syskall com dont run node dot js as roo
  • Google Analytics 服务器端授权获取页面浏览计数分析数据并将其显示在首页上的随机访问者

    如何显示您网页的访问者计数 而无需像 Google Analytics 那样登录或进行身份验证 我正在尝试实施 Google Analytics 服务器端授权来获取页面浏览计数分析数据并将其显示给首页上的随机访问者 我阅读了他们的文档并找到
  • 解密签名并验证 JWT

    我知道还有其他库可以让我更轻松地使用 JWT 在 Node js 中 在本例中 我使用 crypto js 以手动方式学习 JWT 以下给了我令牌 var header alg HS256 typ JWT var wordArrayHead
  • 在不调用“then”的情况下解决 Promise

    我有这段代码 它是我为一个名为 Poolio 的 NPM 模块编写的小型 API 的一部分 对于那些支持错误优先回调和承诺的人来说 我遇到的问题似乎是一个常见问题 我们如何在支持两者的同时保持一致的 API 和 API 的一致返回值 例如
  • 如何使用socket.io处理节点服务器上的并发文件写入请求

    如何使用 socket io 处理节点服务器上的并发文件写入请求 我用这个来写 fs writefile abc txt datatobewritten utf8 function err 我有一个文件 abc txt 假设两个用户尝试同时

随机推荐

  • 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