Movatterモバイル変換


[0]ホーム

URL:


Skip to content
Important
Security Advisory: React2Shell & two new vulnerabilities
Find out more

exportPathMap

Last updated April 15, 2025

This feature is exclusive tonext export and currentlydeprecated in favor ofgetStaticPaths withpages orgenerateStaticParams withapp.

exportPathMap allows you to specify a mapping of request paths to page destinations, to be used during export. Paths defined inexportPathMap will also be available when usingnext dev.

Let's start with an example, to create a customexportPathMap for an app with the following pages:

  • pages/index.js
  • pages/about.js
  • pages/post.js

Opennext.config.js and add the followingexportPathMap config:

next.config.js
module.exports= {exportPathMap:asyncfunction (    defaultPathMap,    { dev, dir, outDir, distDir, buildId }  ) {return {'/': { page:'/' },'/about': { page:'/about' },'/p/hello-nextjs': { page:'/post', query: { title:'hello-nextjs' } },'/p/learn-nextjs': { page:'/post', query: { title:'learn-nextjs' } },'/p/deploy-nextjs': { page:'/post', query: { title:'deploy-nextjs' } },    }  },}

Good to know: thequery field inexportPathMap cannot be used withautomatically statically optimized pages orgetStaticProps pages as they are rendered to HTML files at build-time and additional query information cannot be provided duringnext export.

The pages will then be exported as HTML files, for example,/about will become/about.html.

exportPathMap is anasync function that receives 2 arguments: the first one isdefaultPathMap, which is the default map used by Next.js. The second argument is an object with:

  • dev -true whenexportPathMap is being called in development.false when runningnext export. In developmentexportPathMap is used to define routes.
  • dir - Absolute path to the project directory
  • outDir - Absolute path to theout/ directory (configurable with-o). Whendev istrue the value ofoutDir will benull.
  • distDir - Absolute path to the.next/ directory (configurable with thedistDir config)
  • buildId - The generated build id

The returned object is a map of pages where thekey is thepathname and thevalue is an object that accepts the following fields:

  • page:String - the page inside thepages directory to render
  • query:Object - thequery object passed togetInitialProps when prerendering. Defaults to{}

The exportedpathname can also be a filename (for example,/readme.md), but you may need to set theContent-Type header totext/html when serving its content if it is different than.html.

Adding a trailing slash

It is possible to configure Next.js to export pages asindex.html files and require trailing slashes,/about becomes/about/index.html and is routable via/about/. This was the default behavior prior to Next.js 9.

To switch back and add a trailing slash, opennext.config.js and enable thetrailingSlash config:

next.config.js
module.exports= {  trailingSlash:true,}

Customizing the output directory

next export will useout as the default output directory, you can customize this using the-o argument, like so:

Terminal
nextexport-ooutdir

Warning: UsingexportPathMap is deprecated and is overridden bygetStaticPaths insidepages. We don't recommend using them together.

Was this helpful?

supported.

[8]ページ先頭

©2009-2025 Movatter.jp