配置环境变量区分开发环境和生产环境
- 在根目录下创建config文件夹
- 在config文件夹中创建config.js文件
module.exports = {// dev表示开发环境 prod表示生产环境environment: 'dev'
}
- 在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
- 在异常处理文件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
配置环境变量区分开发环境和生产环境相关推荐
- process.env环境变量配置方式(配置环境变量区分开发环境和生产环境)
一.process.env 为何物? 言归正传. process.env 是 Node.js 中的一个环境变量.其中保存着系统的环境的变量信息.可使用 Node.js 命令行工具直接进行查看: 1.安 ...
- java环境变量都是什么意思_Java环境变量,真的还有必要配吗?
作为年龄上堪称老鸟而技术上却是菜鸟的老菜鸟,为了祖国的编程事业,不惜拿出一个月工资,淘了一台配置稍高的二手笔记本,打算与老笔记本中的撸啊撸片彻底说再见,誓要在新机种开启一番撸啊撸的新事业.当然,撸代码 ...
- linux获取java环境变量的值,linux获取java环境变量的值
linux获取java环境变量的值 [2021-02-11 00:17:01] 简介: 服务器 这篇文章主要为大家展示了linux环境下怎么配置环境变量,内容简而易懂,希望大家可以学习一下,学习完之 ...
- php 环境变量有什么用,什么是环境变量,Linux环境变量及作用
变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值.在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME).邮件存放 ...
- Linux显示环境变量PATH的值,Linux PATH环境变量
Linux PATH环境变量教程 Linux PATH环境变量说明 也就是说当用户在 如果命令或者程序的位置没有包括在 PATH 变量中,那么如果不使用绝对路径的话, shell 是没法找到的.如果想 ...
- 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 ...
- oracle11环境变量path设置_LUENT软件UDF环境变量配置
原创 一只大本鹅 FLUENT小白进阶之路 今天 大家好,今天是本号第一次更新,欢迎大家踊跃提出批评指正,谢谢大家! 今天从FLUENT软件安装UDF环境变量配置开始说起.(以下采用FLUENT19. ...
- java环境变量设置 win2003,Windows下Java环境变量配置方法-博客
小老弟最近在学习Java,顺便做下学习笔记,仅供自己以后方便回顾,希望大家批评指正帮助小老弟进步! 学习Java首先就是安装JDK(Java Development Kit),即Java开发工具包,大 ...
- java配置mq环境变量_RocketMQ学习-01安装及环境配置
安装jdk环境 yum install java-1.8.0-openjdk java -version which java 输出 /usr/bin/java #软连接 ls -l /usr/bin ...
最新文章
- 引入redis报错Bean method ‘redisConnectionFactory‘ not loaded because @ConditionalOnClass did not find
- 调整oracle scn,在Oracle中增进SCN及案例介绍
- 兴致勃勃的意思是什么,怎么用兴致勃勃造句?
- fiddler APP抓包设置
- json oracle 导入,JsonToOracle-Json导入Oracle工具下载 v2.0 官方版 - 安下载
- 使用cmake和vs2019进行编译libtorch过程
- 为了进大厂,韩顺平Java教程百度云
- 工业控制网络通信协议概览 2020年7月27日
- springboot hikari数据库连接池死链 出现异常
- 《STL源码分析》学习笔记 — STL概论与版本简介
- mysql percent_MySQL PERCENT_RANK 函数
- java入门循序渐进
- 正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息
- MOEAD原理及Python实现、MOEAD实现、基于分解的多目标进化、 切比雪夫方法-(python完整代码)
- lumen 框架学习
- 浮点数的IEEE745标准表示
- 机器学习经典书籍和论文集合
- conda 导出环境文件的方法(文件方法)
- 【分享】解读时间同步(NTP网络授时服务器)的重要性
- 【转】android系统的APP消息推送机制