Как установить URL для топора ios? - PullRequest
0 голосов
/ 26 апреля 2020

Я создаю запрос от клиента с nuxt js на laravel сервер. но отправленный запрос URL: http://localhost: 3000 / undefined / api / auth / signin вместо http://127.0.0.1: 8000 / api / auth / signin . Я знаю, что это простой вопрос, но я не могу понять, как он работает с nuxt и laravel

.env файлом APP_URL = http://127.0.0.1: 8000 / CLIENT_URL = http://localhost: 3000 /

import axios from 'axios'
const API_URL = process.env.APP_URL +'/api/'

...

  axiosPost(urlSuffix, data) {
    return axios.post(API_URL + urlSuffix, data, {
      useCredentials: true,
      headers: authHeader()
    })
    .then(response => {
      return response.data
    })
...

1 Ответ

1 голос
/ 26 апреля 2020

Если вы используете laravel-mix, (React, Vue или даже файл Vanilla JS, скомпилированный миксом):

В вашем файле Javascript:

import axios from 'axios'
const API_URL = process.env.MIX_APP_URL +'/api/'

// rest of your code...

Добавьте это в ваш .env файл:

MIX_APP_URL="${APP_URL}"

и заново скомпилируйте ваши сценарии с помощью npm run prod, npm run dev или npm run watch. Что вам нужно.

Если вы используете файл blade, process.env там недоступен. Вместо этого добавьте:

const API_URL = {{url('/')}} +'/api/'

Если вы используете автономный текст. js: Добавьте в nuxt.config.js

export default {
  env: {
    baseUrl: process.env.BASE_URL || 'http://localhost:3000'
    appUrl: process.env.APP_URL,
  }
}

И в своем файле js:

import axios from 'axios'

axios.create({
  baseURL: process.env.appUrl
});

// rest of your code
...