Angular 2如何为Http请求定义基本URL

时间:2017-08-03 05:23:12

标签: php laravel angular api

我已经在我的应用程序中手动声明了http url。它适用于本地环境,但是当它准备好在服务器上部署时,需要根据服务器主机进行更改。所以我需要一个解决方案来解决这个问题。

提前致谢!

1 个答案:

答案 0 :(得分: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
          }
       })
    
  3. 而config.host,config.user是根据您的环境类型在config.js中声明的变量。