<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Deploy on 奇伏禾</title>
        <link>/tags/deploy/</link>
        <description>Recent content in Deploy on 奇伏禾</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="/tags/deploy/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>Hugo 博客部署到 Cloudflare  Workers 踩坑记</title>
            <link>/p/deploy-to-cloudflare/</link>
            <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
            <guid>/p/deploy-to-cloudflare/</guid>
            <description>&lt;h2 id=&#34;前言&#34;&gt;前言&#xA;&lt;/h2&gt;&lt;p&gt;这个博客使用 &lt;a class=&#34;link&#34; href=&#34;https://gohugo.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Hugo&lt;/a&gt; + &lt;a class=&#34;link&#34; href=&#34;https://github.com/CaiJimmy/hugo-theme-stack&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Stack 主题&lt;/a&gt; 构建，部署到 Cloudflare 的 Workers + Pages 统一平台。部署过程遇到几个坑，记录一下。&lt;/p&gt;&#xA;&lt;h2 id=&#34;问题一部署后只看到-hello-world&#34;&gt;问题一：部署后只看到 &amp;ldquo;Hello World&amp;rdquo;&#xA;&lt;/h2&gt;&lt;p&gt;用 &lt;code&gt;wrangler deploy&lt;/code&gt; 部署后，访问分配的 &lt;code&gt;.workers.dev&lt;/code&gt; 域名，页面只有一行 &amp;ldquo;Hello World&amp;rdquo;，而不是 Hugo 生成的博客页面。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;原因：&lt;/strong&gt; Cloudflare 统一了 Workers 和 Pages 平台，默认部署方式创建的是一个 Worker，不会自动托管静态资源。Hugo 生成的 &lt;code&gt;public/&lt;/code&gt; 目录需要作为静态资产提供。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;解决：&lt;/strong&gt; 创建 &lt;code&gt;wrangler.toml&lt;/code&gt; 配置静态资产目录：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;qifuhe&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;compatibility_date&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;2026-07-18&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;assets&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;directory&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;public&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;not_found_handling&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;404-page&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后用 &lt;code&gt;--assets&lt;/code&gt; 标志部署：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wrangler deploy --assets public/ --name qifuhe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;问题二wranglertoml-的-build-command-在-windows-上失败&#34;&gt;问题二：wrangler.toml 的 [build] command 在 Windows 上失败&#xA;&lt;/h2&gt;&lt;p&gt;最开始在 &lt;code&gt;wrangler.toml&lt;/code&gt; 里加了构建命令：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;build&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;command&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;curl -sL https://github.com/gohugoio/hugo/releases/download/v0.164.0/hugo_extended_0.164.0_linux-amd64.tar.gz -o hugo.tar.gz &amp;amp;&amp;amp; tar xzf hugo.tar.gz &amp;amp;&amp;amp; rm hugo.tar.gz &amp;amp;&amp;amp; ./hugo --gc --minify&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这在 Linux/Mac 上没问题，但 Windows 跑不了 Linux 二进制。更坑的是，Wrangler &lt;strong&gt;一定会执行&lt;/strong&gt; &lt;code&gt;[build]&lt;/code&gt; 里的命令，即使加了 &lt;code&gt;--assets&lt;/code&gt; 参数也无法跳过。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;解决：&lt;/strong&gt; 删掉 &lt;code&gt;[build]&lt;/code&gt; 段，在本地手动构建：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/tmp/hugo.exe --gc --minify&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wrangler deploy --assets public/ --name qifuhe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;问题三cloudflare-统一平台后的域名认知&#34;&gt;问题三：Cloudflare 统一平台后的域名认知&#xA;&lt;/h2&gt;&lt;p&gt;2025 年底 Cloudflare 统一了 Workers 和 Pages，合并为一个平台。之前 Pages 用 &lt;code&gt;.pages.dev&lt;/code&gt;，Workers 用 &lt;code&gt;.workers.dev&lt;/code&gt;。统一后仍然使用 &lt;code&gt;.workers.dev&lt;/code&gt; 域名，文档里有些旧教程提到的 &lt;code&gt;.pages.dev&lt;/code&gt; 已不存在。&lt;/p&gt;&#xA;&lt;h2 id=&#34;完整的部署流程&#34;&gt;完整的部署流程&#xA;&lt;/h2&gt;&lt;p&gt;在本地开发：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 本地预览（含草稿文章）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/tmp/hugo.exe server -D&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 写完后构建并部署&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/tmp/hugo.exe --gc --minify&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wrangler deploy --assets public/ --name qifuhe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;小结&#34;&gt;小结&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;Hugp 构建必须在本地完成，Wrangler 的 &lt;code&gt;[build]&lt;/code&gt; 命令在 Windows 上不适配&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;wrangler.toml&lt;/code&gt; 只需要 &lt;code&gt;[assets]&lt;/code&gt; 配置，不用加 &lt;code&gt;[build]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;.workers.dev&lt;/code&gt; 是正确的域名&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item></channel>
</rss>
