Skip to content
创建日期: 2026-06-11 22:32:18
最后更新: 2026-06-11 22:32:18
修订次数: 1

预处理 替换关键字 为 当前目录 (相对路径)

依赖

权限

  • 读文件

介绍

在预处理阶段替换关键字 为当前目录

从给定的 .env 变量文件中读取 网站的项目根目录,用于计算相对路径

用于搭配 vitepress-plugin-pre-replace-keyword.ts 插件使用

为什么要这么做?

简化填写

当 静态资源目录 和 文档目录 同时更改后 无需修改文档内容

使用

txt
# .env.public.development
# 示例

# VitePress 网站的项目根目录 (在 VitePress 初始化时 默认为 "./docs")
VITEPRESS_PROJECT_ROOT_PATH=./docs
ts
// .vitepress/config.mts
// 示例

import preReplaceKeywordResolveCurdir from './plugins/<dir>/vitepress-plugin-pre-replace-keyword-resolve-curdir.ts';

export default defineConfig({
    vite: {
        plugins: [
            preReplaceKeywordResolveCurdir({
                devEnvFilePath:     './.env.public.development',
                buildEnvFilePath:   './.env.public.production',
                encoding:           'utf-8',
                fileExtensionArray: ['.md'],
                keyword:            "__cUR_DIR__",
                envKey:             "VITEPRESS_PROJECT_ROOT_PATH"
            })
        ]
    }
})
md
__cUR_DIR__

__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__

[文件](__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__/file.zip)

![图片](__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__/image.png)

效果

  • 假设当前文档目录为 d1/d11/d11.md
  • 假设当前文件目录为 d1/d11/files/file.zip
  • 假设当前图片目录为 d1/d11/images/image.png
md
__cUR_DIR__

__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__

[文件](__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__/files/file.zip)

![图片](__lmgzsDocs_STATIC_ASSET_SERVER__/__cUR_DIR__/images/image.png)

html
<p>d1/d11</p>

<p><a href="http://127.0.0.1:5500/d1/d11" target="_blank" rel="noreferrer">http://127.0.0.1:5500/d1/d11</a></p>

<p><a href="http://127.0.0.1:5500/d1/d11/files/file.zip" target="_blank" rel="noreferrer">文件</a></p>

<p><img src="http://127.0.0.1:5500/d1/d11/images/image.png" alt="图片"></p>

注意事项

会替换给定文件中的所有关键字

修改 变量文件 后 需要重启开发服务器

确保 变量文件 不包含敏感内容 替换后的内容将直接暴露在前端页面源码中

静态资源目录 和 文档目录 结构必须相同

Released under the MIT License.