2017-08-03 37 views
-1

我已經在我的應用程序中手動聲明瞭http url。對於本地環境可以,但是當它準備在服務器上部署時,它需要根據服務器主機進行更改。所以我需要一個解決方案來解決這個問題。Angular 2如何爲http請求定義基本URL

在此先感謝!

回答

4

有兩種方法,我知道

  1. 創建一個env.js文件,並寫入下面的代碼

    (function (window) { 
    
        window.__env = window.__env || {}; 
    
        // API url 
        window.__env.baseUrl = 'http://localhost:8080'; 
    
        // Base url 
        window.__env.middleware = '/api/v1'; 
    
        // Whether or not to enable debug mode 
        // Setting this to false will disable console output 
        window.__env.enableDebug = true; 
    }(this)); 
    
  2. 您使用axios我用喜歡。它可以幫助我們管理標題並分離我們的API相關代碼。例如:

    var axios = require('axios'); 
    var axiosApi = axios.create({ 
    
        baseURL: config.host, 
    
        headers: { 
    
        // "authorization": "Basic dXNlckBjbG9uZWN0LmNvbTpQYXNzQDEyMw==", 
         "content-type": "application/json" 
        }, 
        // withCredentials: true, 
         auth: { 
         username: config.user, 
         password: config.password 
         } 
        }) 
    

而config.host,config.user是根據您的環境類型config.js聲明的變量。