0

我有很多关于我正在迁移到 NextJS 的网站的参考,这些网站以大写字母开头,如下所示:

https://svcc.mobi/Presenter/2019/llewellyn-falco-3133(注意Presenter中的大写P)

我希望他们都重写为

https://svcc.mobi/presenter/2019/llewellyn-falco-3133

我可以更新我next.config.js的如下来处理单个条目,但我想在我的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'],
  },
4

1 回答 1

0

中的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;
    }
};
于 2021-08-10T20:11:50.550 回答