分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

nodejs 如何自动化配置环境参数

发布时间:2023-09-06 01:33责任编辑:赖小花关键词:jsnodejs配置

应用场景:

最近用 node 重构了网站的项目,部署到测试环境的时候测试一切正常。直到有一天,运维把代码上线到内测环境的时候......突然发现:内测环境和测试环境竟然是同一台服务器,只不过是把代码放在了两个不台的位置而已~这样的话,在同一台服务器部署两个一样的 node 应用,端口必然冲突,就会导致 node 启动报错。那怎么办呢?有没有什么办法可以让测试环境和内测环境用两个不同的端口?冥思苦想......有了,可以增加配置文件来解决这个问题。

一、建立配置文件目录

首先,各个环境的配置信息是不一样的,我们在 nodejs 根目录新建一个 config 目录,创建保存各个环境配置信息的文件:

(1). 自动载入相应环境配置信息的文件:index.js

(2). 测试环境:test.js

(3). 内测环境:beta.js

目录结构如图:

二、各个配置文件写入各自配置信息

(1). index.js

var path = require(‘path‘), ???env = process.env.NODE_ENV.toLowerCase(), // 通过 NODE_ENV 来设置环境变量 ???file = path.resolve(__dirname, env); // 载入配置文件

try { ???var config = module.exports = require(file); ???console.log(‘Load config: [%s] %s‘, env, file);} catch (err) { ???console.error(‘Cannot load config: [%s] %s‘, env, file); ???throw err;}

(2). test.js

module.exports = { ???port: 1337}

(3). beta.js

module.exports = { ???port: 1338}

三、设置 NODE_DEV

(1). 测试环境项目下运行  export NODE_DEV=test 

(2). 内测环境项目下运行  export NODE_DEV=beta 

(注:如果是 windows 系统,请把 export 改成 set)

四、应用入口文件增加配置信息

假设应用入口为 app.js,我们需要在页面里增加相关配置信息

var config = require(‘./config‘), // 配置文件 ???port = config.port;console.log(‘listen on port‘, config.port);

五、启动 node 应用

(1). 测试环境会读取 test.js 里的配置信息,也就是会应用 1337 端口;

(2). 内测环境会读取 beta.js 里的配置信息,也就是会应用 1338 端口;

关于 process.env.NODE_ENV, 可以参考这篇文章:

process.env.NODE_ENV

nodejs 如何自动化配置环境参数

原文地址:https://www.cnblogs.com/lpbottle/p/8139799.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved