NextJS 获取配置文件

对于一些配置内容,如非密码的配置项,可以写入到next.config.js

module.exports = {
    serverRuntimeConfig: {
        //这里的配置项只能在服务端获取到,在浏览器端是获取不到的
    },
    publicRuntimeConfig: {
        //这里的配置既可以服务端获取到,也可以在浏览器端获取到
    },
}

如使用next-dynamic-antd-theme在启动时根据 Ant Design 生成主题颜色时,要确保运行过程中可以获取该内容,便可写入到publicRuntimeConfig

module.exports = {
    serverRuntimeConfig: {
        //这里的配置项只能在服务端获取到,在浏览器端是获取不到的
    },
    publicRuntimeConfig: {
        //这里的配置既可以服务端获取到,也可以在浏览器端获取到
        next_dynamic_antd_themes: theme,
    },
}

要获取内容可以采用如下的方法

import getConfig from 'next/config';
const { publicRuntimeConfig = {} } = getConfig() || {};
const { next_dynamic_antd_themes = {} } = publicRuntimeConfig;

另外,需要注意的是,如果在这里配置了这些内容,那么在部署时,必须带next.config.js文件(不带该文件不会报错,但是publicRuntimeConfigundefined