title |
---|
Configuration |
Your project's configuration lives in a svelte.config.js
file. All values are optional. The complete list of options, with defaults, is shown here:
/** @type {import('@sveltejs/kit').Config} */
const config = {
// options passed to svelte.compile (https://svelte.dev/docs#svelte_compile)
compilerOptions: null,
// an array of file extensions that should be treated as Svelte components
extensions: ['.svelte'],
kit: {
adapter: null,
amp: false,
appDir: '_app',
files: {
assets: 'static',
hooks: 'src/hooks',
lib: 'src/lib',
routes: 'src/routes',
serviceWorker: 'src/service-worker',
template: 'src/app.html'
},
floc: false,
host: null,
hostHeader: null,
hydrate: true,
paths: {
assets: '',
base: ''
},
prerender: {
crawl: true,
enabled: true,
force: false,
pages: ['*']
},
router: true,
ssr: true,
target: null,
vite: () => ({})
},
// options passed to svelte.preprocess (https://svelte.dev/docs#svelte_preprocess)
preprocess: null
};
export default config;
Determines how the output of svelte-kit build
is converted for different platforms. See Adapters.
Enable AMP mode.
The directory relative to paths.assets
where the built JS and CSS (and imported assets) are served from. (The filenames therein contain content-based hashes, meaning they can be cached indefinitely).
An object containing zero or more of the following string
values:
assets
— a place to put static files that should have stable URLs and undergo no processing, such asfavicon.ico
ormanifest.json
lib
— your app's internal library, accessible throughout the codebase as$lib
routes
— the files that define the structure of your app (see Routing)serviceWorker
— the location of your service worker's entry point (see Service workers)hooks
— the location of your hooks module (see Hooks)template
— the location of the template for HTML responses
Google's FLoC is a technology for targeted advertising that the Electronic Frontier Foundation has deemed harmful to user privacy. Browsers other than Chrome have declined to implement it.
In common with services like GitHub Pages, SvelteKit protects your users by automatically opting out of FLoC. It adds the following header to responses unless floc
is true
:
Permissions-Policy: interest-cohort=()
This only applies to server-rendered responses — headers for prerendered pages (e.g. created with adapter-static) are determined by the hosting platform.
A value that overrides the Host
header when populating page.host
If your app is behind a reverse proxy (think load balancers and CDNs) then the Host
header will be incorrect. In most cases, the underlying host is exposed via the X-Forwarded-Host
header and you should specify this in your config if you need to access page.host
:
// svelte.config.js
export default {
kit: {
hostHeader: 'X-Forwarded-Host'
}
};
You should only do this if you trust the reverse proxy, which is why it isn't the default.
Whether to hydrate the server-rendered HTML with a client-side app. (It's rare that you would set this to false
on an app-wide basis.)
An object containing zero or more of the following string
values:
assets
— an absolute path, or a path relative tobase
, where your app's files are served from. This is useful if your files are served from a storage bucket of some kindbase
— a root-relative (i.e. starts with/
) path that specifies where your app is served from. This allows the app to live on a non-root path
See Prerendering. An object containing zero or more of the following:
crawl
— determines whether SvelteKit should find pages to prerender by following links from the seed page(s)enabled
— set tofalse
to disable prerendering altogetherforce
— iftrue
, a page that fails to render will not cause the entire build to failpages
— an array of pages to prerender, or start crawling from (ifcrawl: true
). The*
string includes all non-dynamic routes (i.e. pages with no[parameters]
)
Enables or disables the client-side router app-wide.
Enables or disables server-side rendering app-wide.
Specifies an element to mount the app to. It must be a DOM selector that identifies an element that exists in your template file. If unspecified, the app will be mounted to document.body
.
A Vite config object, or a function that returns one. Not all configuration options can be set, since SvelteKit depends on certain values being configured internally.