博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于如何在部署环境修改process.env & 本地测试
阅读量:6569 次
发布时间:2019-06-24

本文共 1146 字,大约阅读时间需要 3 分钟。

前言

最近在搞一些监控的东西, 需要根据不同的环境上报到不同的地址,中间遇到了一些问题,在这里简单总结分享下。

关于process.env

假如你对process.env 相关的概念还不熟悉, 请移步:

, 这篇文章总结的比较好。

webpack 在构建的时候, 可以为process.env 赋值:

// Do this as the first thing so that any code reading it knows the right env.process.env.BABEL_ENV = 'development';process.env.NODE_ENV = 'development';// Do this as the first thing so that any code reading it knows the right env.process.env.BABEL_ENV = 'production';process.env.NODE_ENV = 'production';
process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()。

假如你需要根据不同的部署环境做一些区分, 比如:

if (process.env.env === "test") {  BASE_API_1 = 'xxx} else if (process.env.env === "uat") {  BASE_API_1 = 'xxx} else if (process.env.env === "staging") {  BASE_API_1 = 'xxx} else if (process.env.env === "live") {  BASE_API_1 = 'xxx'} else {  BASE_API_1 = 'xxx';}

比如用的是jenkins, 构建的时候会自动给环境变量加一个env 属性, 也就是上面看到的env.env, 不同的环境会有不同的值, 比如 uat, staging, live;

本地构建的时候, 是取不到这个值的, 因为没有这个环境。 但是你也可以手动来赋值, 比如给env.env 赋值为'test', 就可以在终端执行:

env=test yarn start

随便打印一下:

console.log(process.env.env);

1557854-20181225145423524-810206504.png

这样就可以了 :)

希望对大家有所启发, 谢谢。

来源:

转载于:https://www.cnblogs.com/lovellll/p/10173929.html

你可能感兴趣的文章
Theano学习笔记(三)——图结构
查看>>
UVa - 11400 - Lighting System Design
查看>>
Oracle 11g 客户端使用
查看>>
luvit 被忽视的lua 高性能框架(仿nodejs)
查看>>
也许每个农村出来的码农都有个田园梦
查看>>
J2EE的13种核心技术
查看>>
Express.js 中的 Sessions 如何工作?(译)
查看>>
Web自动化之Headless Chrome概览
查看>>
【133天】尚学堂高淇Java300集视频精华笔记(71-72)
查看>>
剖析 Laravel 计划任务--事件属性
查看>>
Micronaut教程:如何使用基于JVM的框架构建微服务
查看>>
检查IP是否可用的方法
查看>>
互联网架构师必备技术 Docker仓库与Java应用服务动态发布那些事
查看>>
Intellij IDEA 2018.2 搭建Spring Boot 应用
查看>>
作为数据科学家,我都有哪些弱点
查看>>
(转)线程安全的CopyOnWriteArrayList介绍
查看>>
对LinqtoExcel的扩展 【数据有限性,逻辑有效性】
查看>>
WPF TreeView HierarchicalDataTemplate
查看>>
32岁老程序员的现状和尴尬,无奈中透露些许悲凉,有选择却更痛苦
查看>>
WPF MeshGeometry3D
查看>>