eclipse - 如何安装基于 golang 的所有内部文件夹的网络应用程序

标签 eclipse go web-applications goinstall

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

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”命令肯定不会将内部文件夹复制到可执行文件中。

最佳答案

我认为您对 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。 请注意,它不运行该应用程序。因此,在 go install 之后,您仍然需要像这样启动您的应用。

$GOPATH/bin/<name of app>

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

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

这样你就可以四处移动你的可执行文件,你的所有文件都会在里面。实际上,您可以将此可执行文件复制到服务器,它应该可以正常工作。

我希望这能稍微澄清一下。

关于eclipse - 如何安装基于 golang 的所有内部文件夹的网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39525221/

相关文章:

eclipse - IDEA MPS和Eclipse Xtext的实际用途是什么

go - 在困惑中创建新类型

struct - 高语 : Variable length array in struct for use with binary read

flutter - 波动-实际值和显示值之间的差异

现有应用程序中的 Java Web 服务集成

java - 为什么在 JVM 参数末尾添加 -noverify

java - 在 eclipse 中使用 java.io 库,以便 FileInputStream 可以读取 dat 文件

java - ClassNotFoundException 使用Processing's PApplet 和 Arduino 工具

go - pprof 堆配置文件中的 glob.func

java - 尝试使用 ESAPI 但出现错误