禁用Astro跟弱智一般的静态构建图像优化

视频: 禁用Astro跟弱智一般的静态构建图像优化_哔哩哔哩_bilibili 为什么要禁用图片优化? 下图是一个默认的Astro静态构建,也就是 astro build 的输出,输出中记录了每张图片是如何被Astro “优化” 的。我们不难发现问题所在: 压缩效果微乎其微,甚至有反向压缩。大部分图片仅压缩了几kb,但是为此需要花费 100-1000ms 不等,甚至第12行出现了 before: 26kb, after: 28kb 这样的反向压缩 为什么要浪费这么多的时间来进行±10kb左右的图片压缩呢? 如何让Astro不”优化“图片? 图像 | Docs 查阅 Astro 文档可知 会被优化的情况: 非 /public 目录下的图片 使用 <Image /> 等Astro图片组件 任何MarkDown内的图片,除非你不走Astro内部的 MarkDown -> HTML 转换 不难发现,我们似乎已经找到了一个折中的解决方案: 将图片放置到 /public 目录 尝试将图片放置到 /public 目录(不完美) 这会遇到一个经典问题,这是我询问 OpenAI ChatGPT 的原话 我遇到了一个两难的问题 我使用Astro 我的文章在./src/content/posts/xxx.md 我的图片之前在./src/contentimg/xxx.webp 由于我不想要Astro默认的图片优化,因为构建太慢了,于是我将图片放到了./img/xxx.webp 然后我将MarkDown引用的图片从 img/xxx.webp 改为了 ./img/xxx.webp 但是现在新的问题出现了,我的MarkText(一个MarkDown编辑器)去寻找了 ./src/content/posts/img/xxx.webp 导致我在编辑器中看不到任何图片 有没有什么好的解决方案? 如果反其道而行之,使用类似 ../../img/xxx.webp 会导致部分组件无法获得真实图片,导致 astro build 直接报错退出,比如每篇文章开头的 YAML 元数据中的 image 字段 ...

September 9, 2025 · 2 min · 365 words

利用Astrov3的原生重定向来实现各种各样的高级重定向!

正式开始 Astro v3 正式支持了原生的重定向 路由 | 文档 - Astro 文档 仅需在 astro.config.mjs 中添加如下代码,示例代码将 /tit 的请求 302 重定向到 /posts/pin 。可以配置多行重定向规则 import { defineConfig } from "astro/config"; export default defineConfig({ redirects: { "/tit": { destination: "/posts/pin/", status: 302, }, } }); 有的小伙伴就会问了,如果我的Astro输出模式为SSG?那Astro的重定向是不是不支持 location 重定向?仅支持 HTML 重定向? 的确,在不对构建服务商进行额外配置的情况下,Astro会使用兼容模式,创建 HTML 重定向,你可以尝试安装适配器来支持重定向,但需要注意 并不是所有适配器都会透传Astro中设置的重定向规则 ,始终建议使用您构建服务商提供的重定向服务,参见: 配置 Vercel.json 以支持服务器级别的重定向。如配置 vercel.json 。关于 Astro 适配器的更多信息,参见 配置参考 | Docs

September 1, 2025 · 1 min · 59 words