astro-middleware-cn

0.0.2 • Public • Published

Astro 中间件,解决中文 md 乱码问题

Bug 描述

在 Astro v3 中,在 pages 下创建 test.md 文件,生成 /test 的页面路由,astro dev 开发服务器下会导致中文乱码。

astro build 后,中文正常。

Bug 原因

产生此 Bug 的原因是 Astro v3 中未设置 Content-Type,导致浏览器无法正确解析中文。

请查看相关 issue:Astro v3 markdown page router Chinese get unreadable characters

解决方案

使用方法

从 npm 安装

npm install astro-middleware-cn

在你的 middleware.ts 中使用

import { sequence } from "astro:middleware";
import { onRequest as cn } from 'astro-middleware-cn';

export const onRequest = sequence(cn);

直接复制代码

创建 middleware.ts 文件,复制以下代码

import { defineMiddleware } from "astro:middleware";

export const onRequest = defineMiddleware(async (context, next) => {
    const response = await next();
    response.headers.set('Content-Type', 'text/html; charset=utf-8');

    return response;
});

请在 examples 文件夹查看 示例

关于中间件的更多信息,请查看 Astro 中间件文档

License

本项目使用 MIT License

/astro-middleware-cn/

    Package Sidebar

    Install

    npm i astro-middleware-cn

    Weekly Downloads

    0

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    165 kB

    Total Files

    14

    Last publish

    Collaborators

    • liruifengv