我正在部署一个节点项目,该项目使用next.js进行openshift设置环境变量MY_ENV.我已经将publicRuntimeConfig配置添加到next.config.js以便在客户端访问它.它在我的本地环境中有效,但是当其容器化和部署的publicRuntimeConfig未定义时.
这是我来自next.config.js的配置
module.exports = {
publicRuntimeConfig: { // Will be available on both server and client
isProd: process.env.MY_ENV ? process.env.MY_ENV.includes('prod'): false,isStaging: process.env.MY_ENV ? process.env.MY_ENV.includes('staging') : false
},webpack: (config,{ dev }) => {
const eslintRule = {
test: /\.js$/,enforce: 'pre',exclude: /node_modules/,loader: 'eslint-loader',options: {
emitWarning: dev,},};
const cssRule = {
test: /\.css$/,use: {
loader: 'css-loader',options: {
sourceMap: false,minimize: true,};
config.node = {
fs: 'empty