指定API路径

时间:2017-03-16 06:20:16

标签: angular

我正在开发角度js 2.0的应用程序。对于捆绑我正在使用WebPack,在WebPack中我定义了一个可在整个应用程序中访问的API路径。

new webpack.DefinePlugin({
  'process.env':{
  'NODE_ENV': JSON.stringify('development'),
  'API_URL': JSON.stringify('http://10.28.83.123/nb-legal/api/')
}

但问题是当我准备分发版本时,我无法在此之后更改API网址。有没有办法在分发后如果我想改变api路径,那么我可以轻松地做到这一点,而不是重新重建应用程序。

此致

1 个答案:

答案 0 :(得分:0)

在捆绑包中定义此API_URL变量后,无法更改。 DefinePlugin实际上并没有为您声明变量,它只是用值替换该变量的所有出现。例如,如果您使用API_URL定义'http://10.28.83.123/nb-legal/api/',并且您的源代码看起来像这样

var someURL = API_URL + "get_items"

webpack生成的包中的代码将如下所示

var someURL = 'http://10.28.83.123/nb-legal/api/' + "get_items"

因此,最好的选择是在代码中创建另一个全局变量,例如

window.API_URL = API_URL;

然后你可以修改那个变量。