基本用法 | Hugo官方文档 (opendocs.io)
Flag | 默认值 | 说明 |
---|
-p, --port | 1313 | 本地服务器端口。端口被占就换一个。 |
-b, --baseURL | 空 | 浏览器最终访问的根地址,如 https://spf13.com/ 。本地开发通常不用改(Hugo 会自动用 http://localhost:1313 )。 |
--appendPort | true | 是否在 baseURL 后面自动加端口。设为 false 可生成干净的 URL(配合反向代理时常用)。 |
--bind | 127.0.0.1 | 监听哪个网卡。想让别人电脑访问就改成 0.0.0.0 。 |
-O, --openBrowser | 无 | 服务器启动后自动打开浏览器。 |
Flag | 说明 |
---|
-s, --source | 项目根目录,不写就是当前目录。 |
-c, --contentDir | 放 Markdown 的 content 目录,默认 content 。 |
-l, --layoutDir | 放模板的 layouts 目录,默认 layouts 。 |
-d, --destination | 生成后网站写到磁盘哪个目录,默认 public 。 |
--cacheDir | 缓存目录,默认系统临时目录。CI 里可以显式指定,方便缓存加速。 |
--themesDir | 主题目录,默认 themes 。 |
-t, --theme | 指定一个或多个主题(可以层叠)。 |
Flag | 说明 |
---|
-D, --buildDrafts | 把草稿也编译出来。 |
-F, --buildFuture | 把未来发布的文章也编译出来。 |
-E, --buildExpired | 把已过期文章也编译出来。 |
--disableKinds | 禁止生成某些页面类型,如 home,sitemap,RSS,404 。 |
--renderSegments | 只渲染在 segments 配置里声明的某几类页面,大型站点加快编译用。 |
Flag | 默认值 | 说明 |
---|
-w, --watch | true | 监听文件变化自动重新编译。 |
--disableLiveReload | 无 | 禁用浏览器自动刷新(配合外部 livereload 工具时使用)。 |
--liveReloadPort | -1 | 浏览器刷新脚本用哪个端口,HTTPS 代理环境可改成 443。 |
-N, --navigateToChanged | 无 | 文件改动后浏览器自动跳到对应页面。 |
--poll | 空 | 用轮询而不是系统事件监听文件改动,Docker/WSL 下网络共享目录常用,如 --poll 700ms 。 |
Flag | 说明 |
---|
--disableFastRender | 每次全量重新渲染,看到底是哪处模板出错。 |
--templateMetrics | 输出每个模板花了多长时间。 |
--templateMetricsHints | 在上一条基础上给出优化建议(避免重复调用等)。 |
--printMemoryUsage | 定时打印内存占用。 |
--panicOnWarning | 遇到 WARNING 就 panic,CI 里快速失败。 |
--printI18nWarnings | 打印缺失的翻译键。 |
--printPathWarnings | 打印路径冲突、重复等警告。 |
--printUnusedTemplates | 打印没被用到的模板文件,方便清理。 |
--pprof | 在 8080 端口启动 Go pprof,排查性能瓶颈。 |
--trace file | 把 trace 写入文件,供 go tool trace 分析(一般用户用不到)。 |
Flag | 说明 |
---|
--ignoreCache | 完全忽略缓存目录,干净编译。 |
--gc | 编译完后做一次垃圾回收,清掉没用到的缓存。 |
--cleanDestinationDir | 同步静态文件前先把目标目录里多余的文件删掉,防止残留旧文件。 |
--forceSyncStatic | 任何静态文件改动都整目录复制,不增量。 |
--noBuildLock | 不生成 .hugo_build.lock ,容器环境偶尔需要。 |
Flag | 说明 |
---|
--renderStaticToDisk | 静态文件直接从磁盘读,动态内容走内存,内存占用更稳。 |
--noChmod | 不把文件权限同步到目标目录,Windows/WSL 可避免出现 0755/0644 问题。 |
--noTimes | 不同步修改时间,CI 里可避免时间戳不一致导致缓存失效。 |
--forceSyncStatic | 见上。 |
Flag | 说明 |
---|
--tlsAuto | 自动生成 mkcert 本地受信证书,一键 HTTPS。 |
--tlsCertFile / --tlsKeyFile | 自己指定证书和私钥路径。 |
Flag | 说明 |
---|
--enableGitInfo | 把 git 最近提交的作者、时间、哈希写进页面变量 .GitInfo ,方便做“最后更新”。 |
Flag | 说明 |
---|
--clock | 设定“虚拟时间”,测试未来/过期文章时很有用,如 --clock 2025-12-31T23:59:00Z 。 |
--config / --configDir | 指定配置文件或配置目录。 |
-e, --environment | 指定运行环境(development 、production 等),对应 config/_default/ 和 config/production/ 分层配置。 |
--logLevel | 日志级别:debug、info、warn、error。 |
--quiet | 几乎不输出日志,CI 用。 |
-M, --renderToMemory | 只在内存里渲染,不写磁盘,跑测试用。 |
--ignoreVendorPaths | 忽略 _vendor 里某些模块路径,解决版本冲突。 |
本地开发时最常见的命令:
1
| hugo server -D -F --bind 0.0.0.0 -p 1313 --navigateToChanged
|
含义:监听所有网卡,端口 1313,包含草稿和未来文章,文件改动后自动跳转。
记住:
- 带
-D/-F/-E
的通常只在本地开发用,生产构建别用。 - 端口被占、路径不对、权限问题,90% 的报错都能通过上面的参数解决。