Можно ли во время сборки создать в NextJS большой массив перезаписей?
У меня много ссылок на свой сайт, который я перехожу на NextJS, который начинается с заглавных букв, например:
https://svcc.mobi/Presenter/2019/llewellyn-falco-3133 (обратите внимание на заглавную букву P в Presenter)
Я хочу, чтобы их все переписали на
https://svcc.mobi/presenter/2019/llewellyn-falco-3133
Я могу обновить свой, как показано ниже, чтобы позаботиться об этом для одной записи, но я хочу иметь несколько тысяч таких записей в моем
next.config.js
файл. Могу ли я как-то программно загрузить этот массив во время сборки? (вроде как getStaticPaths).
module.exports = {
async rewrites() {
return [
{
source: '/(P|p)resenter/2019/llewellyn-falco-3133',
destination: '/presenter/2019/llewellyn-falco-3133',
},
{
source: '/(a|A)(b|B)(o|O)(u|U)(t|T)',
destination: '/about',
},
{
source: '/(s|S)ession',
destination: '/session',
},
{
source: '/(p|P)resenter',
destination: '/presenter',
},
];
},
images: {
domains: ['ddrt7tzfkdwdf.cloudfront.net', 'www.siliconvalley-codecamp.com'],
},
1 ответ
В
rewrites
вход в
next.config.js
принимает
async
функция, которая должна возвращать массив объектов в ожидаемом формате. Это означает, что вы можете добавить к нему любую динамическую логику и даже выполнять асинхронные операции, такие как выборка данных.
module.exports = {
async rewrites() {
// Add logic to generate dynamic rewrites array:
// Fetch data from external source, call functions, read files, etc
return dynamicRewritesArray;
}
};