文件变更时自动重载去程序的方法有哪些

  介绍

这篇文章主要介绍文件变更时自动重载去程序的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

文件变更时自动重载去程序的方法有哪些

许多人希望在写去时拥有实时加载代码(热编译)的效果,特别是那些习惯使用JavaScript、Python和Ruby等解释语言的人,本文介绍了5种实时重新加载去程序的方法。

本文假设已安装去编译器,并且已将<代码> GOPATH/bin/<代码>路径添加到路径环境变量中。

在开始之前,我们先创建一个简单的web服务器,可以返回响应内容“Hello, World”。

包mainimport (   “;net/http")函数main () {   http.HandleFunc (“/癴unc (w http。ResponseWriter r * http.Request) {   w.Write([]字节(“你好,World"))   })      http.ListenAndServe (“: 5000“, nil)}

方法1:使用空气

是一个命令行程序,可以为去程序提供实时代码加载。

通过运行以下命令来安装空气。

去- u github.com/cosmtrek/air

下一步,在使用项目的根目录中创建空气配置文件<代码> .air.conf> # .air.conf   # toml配置文件来源于(空气)(https://github.com/cosmtrek/air) #工作区间   #。(当前目录)或绝对路径,注意这些目录都在根目录下面。根=?”tmp_dir=皌mp"[制造]#只是普通的壳命令。可以使用“做”。   cmd=叭ス菇? o。/tmp/主要的管理者;# cmd的配置命令输出的二进制文件的位置。   本=皌mp/main" #自定义二进制输出。   full_bin=癆PP_ENV=dev APP_USER=空气。/tmp/main" #监听的文件扩展后缀列表。   include_ext=[“go",“tpl",“tmpl",“html"] #忽略这些文件扩展名或目录。   exclude_dir=[“assets",“tmp",“vendor",“前端/node_modules"] #如果指定,则监听包含这些文件。   include_dir=[] #忽略文件列表。exclude_file=[] #如果文件修改太频繁,则不必在每次修改时都立刻触发构建,设置触发等待时间。   延迟=1000 #女士   #发生编译错误时,是否停止旧的二进制程序。   stop_on_error=true #该日志文件放置在tmp_dir中。   日志=癮ir_errors.log"【日志】#日志是否显示时间   时间=false(颜色)#自定义每类输出的颜色。如果找不到这个颜色,使用原本的日志输出演示。   主要=癿agenta"观察者=癱yan"构建=皔ellow"运动员=癵reen" (misc) #退出时是否删除临时目录   clean_on_exit=true

配置是简单明了的,请根据你的项目情况去调整。

最后,不要使用常用的<代码>运行> 命令来启动程序。

方法2:码头工人运行Ari

这种方法需要使用码头工人,如果你没有安装,可以按照

我们仍将使用空气库,因此仍然需要空气配置文件。如果你还没有,请创建一个配置文件。

码头工人镜像<代码> 附cosmtrek/空气带安装了空气命令,并且GOPATH环境变量设置为<代码>/

我们只需要将我们的项目目录挂载到码头工人容器的GOPATH中,并使用- p暴露需要使用的端口即可。我们可以通过运行码头工人运行命令来实现这一点:

码头工人——运行——rm - w & lt; WORKING_DIR>- v & lt; PROJECT_FOLDER>: & lt; MOUNT_POINT>- p & lt; HOST_PORT>: & lt; CONTAINER_PORT>& lt; IMAGE_NAME>

就我而言,我需要运行以下命令:

码头工人——运行——rm - w/去/src/github.com/praveen001/live-reloading - v/去/src/github.com/praveen001/live-reloading:/去/src/github.com/praveen001/live-reloading - p 5000:5000 cosmtrek/空气

<强>解释:

使用- v参数将项目目录<代码>/home/praveen/去/src/github.com/praveen001/live-reloading> /去/src/github.com/praveen001/live-reloading> - v/home/praveen/go/src/github.com/praveen001/live-reloading:/去/src/github.com/praveen001/live-reloading

使用<代码> - w> - w/去/src/github.com/praveen001/live-reloading

Web服务器正在监听端口5000,因此需要使用<代码> p> - p 5000:5000

最后,指定码头工人镜像名称

文件变更时自动重载去程序的方法有哪些