首页 > 解决方案 > Sveltekit 基于文件夹的相对锚标记href

问题描述

我有以下文件夹结构

-> routes
    '-> blog
         |-> __layout.svelte
         |-> blogs.svelte
         '-> new.svelte

此刻__layout.svelte我必须硬编码完整的 URL,

            <a href="/blog/blogs>All Blogs</a>
            <a href="/blog/new>Create New Blog</a>

我希望能够删除 href 中的硬编码,就/blog好像我必须更改所有 URL 一样。所以像blogposts

           <a href="{folder}/blogs">All Blogs</a>

可能吗?

标签: sveltesveltekit

解决方案


你可以这样做,但你必须在{folder}某个地方定义(否则 Svelte 也不知道你指的是哪个文件夹)。

这可以像创建文件一样/lib/paths.js简单

export const POSTS = '/blog';

然后在你需要的地方

<script>
 import {POSTS} from '$lib/paths';
</script>

<a href="{POSTS}/blog">All blogs</a>

当然,您必须记住更新这些常量。


推荐阅读