- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我之前使用的是 statik将文件嵌入到 Go 应用程序中。
在 Go 1.16 中我可以移除那些依赖
例如:
//go:embed static
var static embed.FS
fs := http.FileServer(http.FS(static))
http.Handle("/", fs)
这将从 http://.../static/
./static/
目录
有没有一种方法可以从 /
根路径提供该目录,而无需 /static
?
最佳答案
使用fs.Sub :
Sub returns an FS corresponding to the subtree rooted at fsys's dir.
package main
import (
"embed"
"io/fs"
"log"
"net/http"
)
//go:embed static
var static embed.FS
func main() {
subFS, _ := fs.Sub(static, "static")
http.Handle("/", http.FileServer(http.FS(subFS)))
log.Fatal(http.ListenAndServe(":4000", nil))
}
fs.Sub 与 http.StripPrefix 结合使用也很有用。 “重命名”目录。例如,将目录 static 重命名为 public,这样对/public/index.html 的请求服务于 static/index.html:
//go:embed static
var static embed.FS
subFS, _ := fs.Sub(static, "static")
http.Handle("/", http.StripPrefix("/public", http.FileServer(http.FS(subFS))))
或者,在静态目录中创建一个 .go 文件并将嵌入指令移到那里 (//go:embed *
)。这更接近于 statik 工具的作用(它创建了一个全新的包),但由于 fs.Sub 通常是不必要的。
// main.go
package main
import (
"my.module/static"
"log"
"net/http"
)
func main() {
http.Handle("/", http.FileServer(http.FS(static.FS)))
log.Fatal(http.ListenAndServe(":4000", nil))
}
// static/static.go
package static
import "embed"
//go:embed *
var FS embed.FS
关于go 1.16 embed - strip 目录名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66365902/
如标题所述。我可以使用 strip --strip-all 它将所有符号从 .ko 文件中去除。但是,如果我尝试使用 strip --strip-symbol=symbolname 仅删除一个符号,它
我正在使用 BeautifulSoup 在 Python 中完成抓取任务,但遇到了一些奇怪的错误。它提到了 strip,我没有使用它,但我猜可能与 BSoup 的进程有关? 在我试图转到原始 url
简单的问题。如何在 iReport 中的现有 strip 之间插入细节 strip ?比如我现在的情况: 细节 1 细节2 细节 3 ...我想在细节 2 和细节 3 之间添加另一个细节带。有什么简单
我的 strip 仪表板上不断收到错误代码 400。似乎我不止一次使用相同的 strip 标记,这会产生错误。下面是我的代码。 Js: var handler = Stri
我有一个 Unicode 字符串,在开头和结尾有一些不间断的空格。使用 strip() 与 strip(string.whitespace) 时,我得到不同的结果。 >>> import string
我正在尝试制作许多“小倍数”图。 (旁白/背景)我有太多方面无法在单个图中显示,因此我需要手动将它们划分为单独的图。我希望我能通过想要的 ncol和 nrow至 facet_wrap它会根据我的需要制
我读了很多东西,发现这个配置有两个副作用: 使二进制大小更小 程序显示更好的调试崩溃 我正在为 iOS 构建程序,所以我希望我的二进制文件尽可能小。这个意思: 如果我设置 是 对于这两个配置,我的二进
https://plotly.com/python/strip-charts/ 中的第二个例子显示添加颜色(见下面的屏幕截图),但这也会自动在红色和蓝色点之间创建间距。 如何关闭它?如何确保我的点为分
如果二进制文件大小不是问题,使用 -g 而不是剥离要在性能关键环境中运行的二进制文件是否有任何缺点?我有很多磁盘空间,但二进制文件是 CPU 密集型的并且使用大量内存。二进制文件加载一次并存活数小时。
代码 library(ggplot2) library(dplyr) mydata = tribble( ~x, ~y, ~data, ~more, 0, 50, 'iris', 'this'
“复制期间的条调试符号”和“条链接的产品”选项之间有什么区别? 如果“复制期间的 strip 调试符号” =是,“ strip 链接产品” =否是什么意思? 是否可以将带有符号数据的应用程序上载到Ap
我使用以下代码使用 stripe.createToken 方法为银行帐户创建了一个 token 。 stripe.createToken('bank_account', { country: 'U
我正在尝试安装 imwheel,一个用于 linux 的鼠标配置客户端,当我在尝试安装该软件包时遇到此输出时,作为一个完全的菜鸟被难住了,因为我以前这样做过并且从未遇到过这个问题(我曾经使用 paca
使用 str.strip 可以通过两种方式在空白处进行分割。 。您可以发出不带参数的调用,str.strip(),默认使用空格分隔符,或者自己使用 str.strip(' ')< 显式提供参数。 但是
我正在构建一个蚊子docker镜像,当调用make install时遇到以下错误消息“安装:无法识别的选项:strip-program = strip”,请帮助,谢谢。 install -d /usr
我正在构建我想要生成发布版本的代码。但是,我也希望能够在 cores 崩溃时对其进行调试。 所以我读到可以使用带有调试符号的构建,然后生成运行 strip 的二进制文件的拷贝。然后,您可以使用剥离的二
我使用 TestFlight 进行远程崩溃报告。现在,我正在为此使用 Google Analytics。 TestFlight 建议禁用“复制期间剥离调试符号”和“剥离链接产品”。谷歌分析——没有。我
在将“复制过程中剥离调试符号”设置为"is"的情况下执行存档构建时,我收到警告“跳过复制阶段剥离,二进制代码已签名”。关于此问题,通常建议的线程解决方案是将“复制期间剥离调试符号”设置为“否”。当然可
在现代linux中,几乎所有对象都被剥离并分为两部分(两个文件)。第一个是可执行文件本身,第二个是调试符号,从原始ELF中删除。这样的文件是用 objcopy --only-keep-debug or
我定义了三 Stripe 计划(免费、普通、高级)。当用户想要升级(例如从普通用户到高级用户)时,用户应该使用高级计划获得新订阅。 到目前为止,这是我的代码: subscription = strip
我是一名优秀的程序员,十分优秀!