Resolve asset URLs and route paths with proper base path handling.
/**
* Resolve static asset URL with base path
* @param file - Asset file path
* @returns Full URL to asset
* @since 2.26
*/
function asset(file: string): string;Usage:
import { asset } from '$app/paths';
// Resolve static asset
const logoUrl = asset('/images/logo.png');
const styleUrl = asset('/styles/theme.css');
// In component
<img src={asset('/logo.png')} alt="Logo" />
<link rel="stylesheet" href={asset('/theme.css')} />/**
* Resolve route ID or pathname to full path
* @param route - Route ID (from types) or pathname
* @param params - Route parameters (when route has parameters)
* @returns Resolved pathname as a string
* @since 2.26
*/
function resolve<T extends RouteId | Pathname>(
...args: ResolveArgs<T>
): ResolvedPathname;
// ResolvedPathname is a string type (nominal/branded string)
type ResolvedPathname = string;Usage:
import { resolve } from '$app/paths';
// Resolve route ID (returns a string)
const path = resolve('/blog/[slug]', { slug: 'hello-world' });
// '/blog/hello-world'
// Resolve pathname
const path2 = resolve('/about');
// '/about'
// Use in links (resolve returns a string directly)
<a href={resolve('/post/[id]', { id: post.id })}>
{post.title}
</a>// Deprecated - use asset() and resolve() instead
const base: string;
const assets: string;
/**
* @deprecated Use resolve() instead
* resolveRoute is exported as a deprecated alias: export { resolve as resolveRoute }
*/
const resolveRoute: typeof resolve;asset(): Use for static files in /static directoryresolve(): Use for route paths and dynamic routesconfig.kit.paths.base settingbase and assets constants are deprecated but still availableconfig.kit.paths.base is set to /myapp:
asset('/logo.png') → /myapp/logo.pngresolve('/about') → /myapp/aboutconfig.kit.paths.relative = true