1. 在根目录下创建config文件夹
  2. 在config文件夹中创建config.js文件
module.exports = {// dev表示开发环境 prod表示生产环境environment: 'dev'
}
  1. 在init.js中全局导入环境变量
const requireDirectory = require('require-directory')
const Router = require('koa-router')class InitManger {static InitCore (app){InitManger.app = appInitManger.InitLoadRouters()InitManger.InitLoadConfig()}static InitLoadRouters () {// 参数:第一个参数固定参数module,第二个参数要加载的模块的文件路径,第三个参数:每次加载一个参数执行的函数// 在node.js中process.cwd()方法可以获取项目的根路径const Url = `${process.cwd()}/app/api`const modules = requireDirectory(module, Url, {visit:whenModuleLoad})function whenModuleLoad (obj) {if(obj instanceof Router){InitManger.app.use(obj.routes())}}}static InitLoadConfig (path = '') {const configPath = path || process.cwd() + '/config/config.js'const config = require(configPath)global.config = config}
}
module.exports = InitManger
  1. 在异常处理文件exception.js中使用
const {HttpException} = require('../core/http-exception')
const catchError = async (ctx, next)=>{try {await next()} catch (error) {if( global.config.environment === 'dev' ) {throw error}if(error instanceof HttpException){ctx.body = {msg: error.msg,error_code: error.errorCode,requestUrl: `${ctx.method} ${ctx.path}`}ctx.status = error.code} else {// 未知异常处理ctx.body = {msg: 'we made a mistake',error_code: 999,requestUrl: `${ctx.method} ${ctx.path}`}ctx.status = 5000}}
}module.exports = catchError

配置环境变量区分开发环境和生产环境相关推荐

  1. process.env环境变量配置方式(配置环境变量区分开发环境和生产环境)

    一.process.env 为何物? 言归正传. process.env 是 Node.js 中的一个环境变量.其中保存着系统的环境的变量信息.可使用 Node.js 命令行工具直接进行查看: 1.安 ...

  2. java环境变量都是什么意思_Java环境变量,真的还有必要配吗?

    作为年龄上堪称老鸟而技术上却是菜鸟的老菜鸟,为了祖国的编程事业,不惜拿出一个月工资,淘了一台配置稍高的二手笔记本,打算与老笔记本中的撸啊撸片彻底说再见,誓要在新机种开启一番撸啊撸的新事业.当然,撸代码 ...

  3. linux获取java环境变量的值,linux获取java环境变量的值

    linux获取java环境变量的值 [2021-02-11 00:17:01]  简介: 服务器 这篇文章主要为大家展示了linux环境下怎么配置环境变量,内容简而易懂,希望大家可以学习一下,学习完之 ...

  4. php 环境变量有什么用,什么是环境变量,Linux环境变量及作用

    变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值.在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME).邮件存放 ...

  5. Linux显示环境变量PATH的值,Linux PATH环境变量

    Linux PATH环境变量教程 Linux PATH环境变量说明 也就是说当用户在 如果命令或者程序的位置没有包括在 PATH 变量中,那么如果不使用绝对路径的话, shell 是没法找到的.如果想 ...

  6. win10java配置环境变量msi_Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记

    刚用Ambari搭建好Hadoop,就开始写Hello World! 一.背景 1.Hadoop版本 经查看为2.7.1 Shell 1 2 3 4 5 6 7 [root@TJ1-000~]# ha ...

  7. oracle11环境变量path设置_LUENT软件UDF环境变量配置

    原创 一只大本鹅 FLUENT小白进阶之路 今天 大家好,今天是本号第一次更新,欢迎大家踊跃提出批评指正,谢谢大家! 今天从FLUENT软件安装UDF环境变量配置开始说起.(以下采用FLUENT19. ...

  8. java环境变量设置 win2003,Windows下Java环境变量配置方法-博客

    小老弟最近在学习Java,顺便做下学习笔记,仅供自己以后方便回顾,希望大家批评指正帮助小老弟进步! 学习Java首先就是安装JDK(Java Development Kit),即Java开发工具包,大 ...

  9. java配置mq环境变量_RocketMQ学习-01安装及环境配置

    安装jdk环境 yum install java-1.8.0-openjdk java -version which java 输出 /usr/bin/java #软连接 ls -l /usr/bin ...

最新文章

  1. 引入redis报错Bean method ‘redisConnectionFactory‘ not loaded because @ConditionalOnClass did not find
  2. 调整oracle scn,在Oracle中增进SCN及案例介绍
  3. 兴致勃勃的意思是什么,怎么用兴致勃勃造句?
  4. fiddler APP抓包设置
  5. json oracle 导入,JsonToOracle-Json导入Oracle工具下载 v2.0 官方版 - 安下载
  6. 使用cmake和vs2019进行编译libtorch过程
  7. 为了进大厂,韩顺平Java教程百度云
  8. 工业控制网络通信协议概览 2020年7月27日
  9. springboot hikari数据库连接池死链 出现异常
  10. 《STL源码分析》学习笔记 — STL概论与版本简介
  11. mysql percent_MySQL PERCENT_RANK 函数
  12. java入门循序渐进
  13. 正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息
  14. MOEAD原理及Python实现、MOEAD实现、基于分解的多目标进化、 切比雪夫方法-(python完整代码)
  15. lumen 框架学习
  16. 浮点数的IEEE745标准表示
  17. 机器学习经典书籍和论文集合
  18. conda 导出环境文件的方法(文件方法)
  19. 【分享】解读时间同步(NTP网络授时服务器)的重要性
  20. 【转】android系统的APP消息推送机制

热门文章

  1. 【4003】通过html+css做一个图片列表的静态页面。
  2. 单变量微积分笔记23——部分分式
  3. SQL游标使用——格式、实例、嵌套
  4. FPGA是什么及其应用领域
  5. 重庆-成都4-5天旅游攻略
  6. 珍爱地球-我们的2030承诺
  7. 注塑模具设计与加工解决方案
  8. 马斯克脑机接口真人手术获FDA批准!一文看懂得脑机接口未来的无限可能(附产业链与核心企业)...
  9. 计算机网络按距离如何分类,总算清楚计算机网络按距离如何分类
  10. 关于深拷贝和浅拷贝的一些思考