动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

实例解析NodeJS实现环境配置

05-06 17:47 705浏览
举报 T字号
  • 大字
  • 中字
  • 小字

Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。但是使用NodeJS开发还是要根据不同的环境变量加载 JSON 内的不同服务器配置,下面我们来看看NodeJS如何实现环境配置。

1.编写 config.json 提供服务器配置

config.json 内存储了不同环境下的各服务器配置,该例包含 development、staging、production 三个环境:

{
  "development": {
    "PORT": 3000,
    "MONGODB_URI": "mongodb://localhost:27017/baoheJM",
    "DB":"baoheJM"
  },
  "staging": {
    "PORT": 9201,
    "MONGODB_URI": "mongodb://localhost:27017/baoheJM-STA",
    "DB":"baoheJM-STA"
  },
  "production": {
    "PORT": 9201,
    "MONGODB_URI": "mongodb://localhost:27017/baoheJM-PRO",
    "DB":"baoheJM-PRO"
  }
}

2.编写 config.js 加载服务器配置

config.js 内根据环境变量 NODE_ENV 加载了对应的各个环境变量配置,并默认使用 development:

let env = process.env.NODE_ENV || 'development';
if (env === 'development' || env === 'staging' || env === 'production') {
    console.log('server config loaded');
    console.log(env);
    const config = require('./config.json');
    Object.assign(process.env, config[env]);
}

 

3.使用环境变量内的配置

使用时在 NodeJS 项目内 require('./config/config'); 即可加载,并通过 process.env.params 拿到各个配置,例如 express 的后台项目可通过该方式来区分不同环境下的端口号:

const app = require('../app');
const http = require('http');

const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
const server = http.createServer(app);

 

4.在 package.json 内编写不同环境的启动命令

通过 export NODE_ENV=development || SET \"NODE_ENV=development\" 来分别设置 Linux 和 Windows 系列系统的环境变量后再启动 NodeJS 项目即可真正加载不同的环境变量配置。

"scripts": {
    "start-dev": "export NODE_ENV=development || SET \"NODE_ENV=development\" && pm2 start ./bin/www --name baoheJM-dev",
    "start-sta": "export NODE_ENV=staging || SET \"NODE_ENV=staging\" && pm2 start ./bin/www --name baoheJM-sta",



"start-pro": "export NODE_ENV=production || SET \"NODE_ENV=production\" && pm2 start ./bin/www --name baoheJM-pro"
},

上述的NodeJS环境配置实例是从动力节点在线的视频课程中摘录的部分代码,想要深入学习NodeJS如何实现环境配置的小伙伴请到动力节点在线的视频课程中慢慢学习,打好基础才能稳扎稳打,学好NodeJS技术。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵124
程序员代码小兵124

99篇文章贡献336699字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

JavaWeb的3大组件

代码小兵49806-11 15:28

全面解析Cookie技术

代码小兵49806-11 15:51

浅谈JavaWeb架构演变

代码小兵49806-11 16:22

探讨Web开发中的Session存储与管理

代码小兵51603-29 17:28

JavaScript基础知识

 暴风城-小飞04-06 20:49

发评论

举报

0/150

取消