有时将参数设为可选很有帮助。一个经典的例子是当您使用路径名来确定语言环境时——/fr/...
、/de/...
等等——但您也希望有一个默认语言环境。
为此,我们使用双括号。将[lang]
目录重命名为[[lang]]
。
现在应用程序构建失败,因为src/routes/+page.svelte
和src/routes/[[lang]]/+page.svelte
都将匹配/
。删除src/routes/+page.svelte
。(您可能需要重新加载应用程序才能从错误页面恢复)。
最后,编辑src/routes/[[lang]]/+page.server.js
以指定默认语言环境
src/routes/[[lang]]/+page.server
const greetings = {
en: 'hello!',
de: 'hallo!',
fr: 'bonjour!'
};
export function load({ params }) {
return {
greeting: greetings[params.lang ?? 'en']
};
}
1
2
<h1>hello!</h1>