The Basics of Next.js Config

The Basics of Next.js Config
Photo by Vadim Sherbakov / Unsplash

There are several configuration options that you can set in your next.config.js file in a Next.js project. Here are some of the most common ones:

  • target: Specifies the environment in which the application is built. Can be one of server, serverless, or experimental-serverless-trace.
  • env: An object that specifies environment variables that will be available to the application at runtime.
  • webpack: An object that allows you to customize the Webpack configuration for your application.
  • webpackDevMiddleware: An object that allows you to customize the Webpack dev middleware.
  • poweredByHeader: A boolean that specifies whether to include a X-Powered-By header in the response.
  • distDir: The directory where the production build of your application will be generated.
  • useFileSystemPublicRoutes: A boolean that specifies whether to use the file system as the route definition for dynamic routes.
  • experimental: An object that contains experimental features that are not yet ready for production use.

The config file looks something like this with the env parameter defined

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true,
  env: {
    testurl: 'http://localhost:4000',
  },
}

module.exports = nextConfig

The parameters are then used in the application as below

process.env.testurl 

You can find a complete list of configuration options in the Next.js documentation.