首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >瓜兰市开发与生产环境的分离

瓜兰市开发与生产环境的分离
EN

Stack Overflow用户
提问于 2018-08-10 06:05:38
回答 3查看 11.2K关注 0票数 18

我刚开始编程。我来自nodejs。在nodejs中很容易分离dev和prod模式。简单地使用这段代码。

代码语言:javascript
复制
if(process.env.NODE_ENV==="production"){
   server.listen(prod.port);
} 
else{
   server.listen(dev.port);
}

我基本上希望这个约定也能用在围棋上。那么,我如何才能分离我的开发和生产代码。

需要此功能的原因是

为了分离端口,我的服务器在dev和prod环境中侦听。

如果有任何分离端口的技术,它也会工作。

P.S:我使用VScode作为我的代码编辑器。和go-iris作为一个go服务器框架

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-10 06:14:28

您可以使用os.Getenv函数。

代码语言:javascript
复制
package main

import (
    "fmt"
    "os"
)

func getEnv() string{
    return os.Getenv("APP_ENV")
}

https://golang.org/src/os/env.go?s=2471:2501#L73

票数 13
EN

Stack Overflow用户

发布于 2018-08-10 06:17:44

有多种方法可以在Go中实现这一点,但它们都不会在代码本身中处理。

  1. 使用环境变量(如os.Getenv )
  2. 解析配置文件(如某些.yaml文件)
  3. 使用标志(如package flag )

我认为最常见的解决方案是使用标志,但所有的工作都是相同的。通常,在主方法中解析标志。

票数 16
EN

Stack Overflow用户

发布于 2022-11-24 08:23:29

只需使用参数(如go run main.go -mode development )运行应用程序,而默认模式是生产模式。您可以使用脚本启动应用程序,以便分离不同的环境。例如,您的bootstrap.bat文件可能如下所示:go run main.go -mode development

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51779983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档