如何使用golang

时间:2016-09-16 06:42:11

标签: eclipse go web-applications goinstall

如何使用“go install”或任何其他命令来安装/部署具有内部文件夹的Web应用程序。 我已经构建了一个具有以下文件夹结构的小型web应用程序。

SampleWebApp
   |--- swa.go
   |--- static/
          |--- css/x.css
          |--- js/y.js
          |--- html/z.html

我正在使用eclipse ide,当我以go app运行时,它运行良好(http://localhost:8080)但是当我使用命令行安装时使用

 go install <path>

并尝试(http://localhost:8080)获得404错误。 “go install”命令肯定不会将内部文件夹复制到可执行文件中。

1 个答案:

答案 0 :(得分:1)

我认为你对go生态系统如何运作有点困惑。让我试着解释一下发生了什么。当你说“run as go app”时,你可能意味着你在eclipse中有一个按钮,它编译并执行你编写的程序,从而启动你本地主机上的服务器。

所以在幕后eclipse正在你的工作目录中运行这样的东西:

cd $GOPATH/src/<name of app>
go build
./<name of app>

当您在终端中执行相同操作时,它可能也会起作用。只需确保正确配置了GOPATH。 另一方面,命令“go install”与“go build”几乎完全相同,但随后将可执行文件移动到$ GOPATH / bin。 请注意,它不会运行该应用程序。因此,在安装完成后,您仍然需要像这样启动您的应用程序。

$GOPATH/bin/<name of app>

但是当它安装时,它只会查看go文件。因此,如果您希望应用程序可以访问您的html,js和css文件,则应从工作目录中启动它。 有一些方法可以使用像go-bind-data这样的包将html,css和js文件添加到可执行文件中:

https://github.com/jteeuwen/go-bindata

这样你只需移动你的可执行文件,你的所有文件都将在其中。实际上,您可以将此可执行文件复制到服务器,它应该按原样运行。

我希望这会把它搞清楚一点。