我正在使用Vue + axios,我在设置它时遇到问题,因此基本网址会因网站的网址而有所不同?
所以我的localhost for vue当然是:
localhost的api是:
服务器上的是:
和api是:
所以我使用webpack来组合常见的库:
'vendor.js': ['vue', 'bootstrap', 'axios', 'popper.js', 'pace', 'vue-router', 'jquery'],
和我的全局配置:
import Popper from 'popper.js/dist/umd/popper.js';
import Pace from 'pace-js';
import Vue from 'vue';
import VueRouter from 'vue-router';
import Axios from 'axios';
Pace.start();
try {
window.$ = window.jQuery = require('jquery');
window.Popper = Popper;
require('bootstrap');
} catch (e) {}
window.Vue = Vue;
window.VueRouter = VueRouter;
window.axios = Axios;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
所以,如果我想做axios post它工作正常,但每次我必须告诉它它将会是什么域,是否有某种设置,以便当我在localhost时,域是webuilder.app而如果它在prod域名是api.webuilder.co.uk?
答案 0 :(得分:0)
考虑使用类似的东西
var axios = require('axios');
var axiosInstance = axios.create({
baseURL: process.env.baseUrl || 'https://example.com/foo/bar'
});
module.exports = axiosInstance;
在条件语句中使用它,您可以将环境设置为prod或develop