Netx. js возвращает 500: внутренняя ошибка сервера в Production - PullRequest
1 голос
/ 19 февраля 2020

Создано следующее. js приложение с полным стеком. После производственной сборки при следующем запуске возвращается 500: внутренний сервер. Я использую переменные окружения для запуска API.

env.development file

BASE_URL=http://localhost:3000

В сервисе разработки все работало нормально. T

import axios from 'axios';
const axiosDefaultConfig = {
  baseURL: process.env.BASE_URL, // is this line reason for error?
  headers: {
    'Access-Control-Allow-Origin': '*'
  }
};
const axio = axios.create(axiosDefaultConfig);

export class Steam {
  static getGames = async () => {
    return await axio.get('/api/getAppList');
  };
}

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Есть ли у вас файл next.config.js?

Чтобы добавить конфигурацию времени выполнения в ваше приложение, откройте next.config. js и добавьте конфигурации publicRuntimeConfig и serverRuntimeConfig:

module.exports = {
  serverRuntimeConfig: {
    // Will only be available on the server side
    mySecret: 'secret',
    secondSecret: process.env.SECOND_SECRET, // Pass through env variables
  },
  publicRuntimeConfig: {
    // Will be available on both server and client
    staticFolder: '/static',
  },
}

Чтобы получить доступ к конфигам среды выполнения в вашем приложении, используйте next / config, например так:

import getConfig from 'next/config'

// Only holds serverRuntimeConfig and publicRuntimeConfig
const { serverRuntimeConfig, publicRuntimeConfig } = getConfig()
// Will only be available on the server-side
console.log(serverRuntimeConfig.mySecret)
// Will be available on both server-side and client-side
console.log(publicRuntimeConfig.staticFolder)

function MyImage() {
  return (
    <div>
      <img src={`${publicRuntimeConfig.staticFolder}/logo.png`} alt="logo" />
    </div>
  )
}

export default MyImage

Надеюсь, это поможет.

0 голосов
/ 19 февраля 2020

Я не думаю, что у вас есть настройка env.

Вам нужно настроить его для работы. Попробуйте без него, и оно должно работать нормально!

...