2017-12-11 12 views
0

私はVue + axiosを使用していますが、サイトのURLによってベースURLが異なるように設定するのに問題がありますか?Axiosはローカルとプロットを区別しますか?

のでVUEのための私のlocalhostのは、もちろんです:localhostの

http://localhost:8080

APIは次のとおりです。サーバーVUE上

http://webuilder.app

さ:

http://webuilder.co.uk

およびAPIは次のとおりです。

http://api.webuilder.co.uk

だから私は、共通のライブラリ組み合わせるためのWebPACKを使用しています:私はaxiosをしたいのであれば

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'); 
} 

'vendor.js': ['vue', 'bootstrap', 'axios', 'popper.js', 'pace', 'vue-router', 'jquery'], 

と私のグローバル設定をそれはうまく動作しますが、どのドメインに行くのかを教えなければならないたびに、何らかの設定があるので、私がlocalhostにいるとき、ドメインはwebuilder.appです。 n prod domainはapi.webuilder.co.ukですか?

答えて

0

は、このあなたが

+0

ををprodや開発に的環境を設定する条件文で、私は実際にをprodまたは開発する環境を設定していないです、持つべき言及で、この

var axios = require('axios'); var axiosInstance = axios.create({ baseURL: process.env.baseUrl || 'https://example.com/foo/bar' }); module.exports = axiosInstance; 

使用のようなものを使用することを検討してください質問がありますが、私はクロスenvを使用していますか?それは役に立ちますか?答えを更新することができます:package.json: "dev": "クロスenv NODE_ENV =開発webpack-dev-server --open-hot"、 "ビルド": "cross-env NODE_ENV = production webpack --progress --hide-modules " – Przemek

+0

これをやめることはできませんが、これはうまくいくと思います。 –

関連する問題