Vue.js 如何从vue.config.json中的外部config.json文件设置代理URL

Vue.js 如何从vue.config.json中的外部config.json文件设置代理URL,vue.js,webpack,vuejs2,Vue.js,Webpack,Vuejs2,如何从config.json外部文件设置代理URL,就像在通过web.config进行配置的.net应用程序中一样。 我使用的是vue cli样板文件(Vue2+webpack)+vuex+axios 我为此做了一些工作,但没有任何帮助,我导入config.json并使用其中的配置数据,但在构建包含output.min.js中的配置文件的Web包之后 目前,,在运行生产服务器的构建或开发服务器的构建之前,我正在手动更改代码中的服务器URL,但需要单独使用config.json文件,以便我能够从生

如何从config.json外部文件设置代理URL,就像在通过web.config进行配置的.net应用程序中一样。 我使用的是vue cli样板文件(Vue2+webpack)+vuex+axios

我为此做了一些工作,但没有任何帮助,我导入config.json并使用其中的配置数据,但在构建包含output.min.js中的配置文件的Web包之后


目前,,在运行生产服务器的构建或开发服务器的构建之前,我正在手动更改代码中的服务器URL,但需要单独使用config.json文件,以便我能够从生产服务器上的配置文件更改代理URL。

您可以使用
webpackChunkName
注释。这将创建一个单独的块,在构建之后可以更容易地对其进行更改

下面是在vue组件中使用它的代码

config.json: vue组件:
导出默认值{
名称:“应用程序”,
数据:函数(){
返回{
配置:null
}
},
创建(){
导入(/*webpackChunkName:“config”,webpackMode:“lazy once”*/“/config.json”)。然后(r=>this.config=r.default);
}
}
组件外部
let-config;
导入(/*webpackChunkName:“config”*/'./config.js')
.then(r=>{config:r.default})
。然后(/*使用config*/)执行操作;
需要注意的一些事项: -因为它不再是同一个包的一部分,配置包将需要来自网络请求,这意味着响应是异步的,因此您不能进行简单的赋值。这可能需要对代码进行不太重要的更改,因为在加载之前无法使用该值,因此依赖该值的任何其他代码都需要等待。 -无论您是在源代码中使用json还是js文件,生成的webpack包都将是js文件,并且几乎相同,尽管json版本稍小

配置包将如下所示

(window[“webpackJsonp”]=window[“webpackJsonp”]| |【】)。push([[“config”],{“7dc5”:函数(n){n.exports={abc:123,def:123}}]);
//#sourceMappingURL=config.26910bd8.js.map
其中
{abc:123,def:123}
是现在应该很容易修改的数据部分

资源:

  • 网页包代码拆分文档:
  • 延迟加载,在vue中显示该功能

对不起,我不清楚您想做什么。如果您使用的是vue cli 3,那么您可以使用它。这还不够吗?我想从外部JSON文件中设置一个代理URL,因为该文件将用于应用程序配置,并想在生成项目时从绑定中排除,webpack在生成时进行绑定并缩小文件。构建后,从缩小的文件更改代理URL对于DevOps user来说很困难。vue cli 3使用
vue.config.js
,因此,由于它不是json,您可以在配置文件中包含逻辑,因此应该允许您从外部文件调用数据。我认为您没有得到要求。你知道捆绑和缩小吗?或者你有webpack的知识吗?如果你想在它被捆绑后能够轻松地更改它,请将它放入一个单独的js文件中(这样你就不需要ajax来加载它),然后使用vue/webpack代码拆分来生成一个单独的资源。谢谢@Daniel,这对我很有帮助
{
  "abc": 123,
  "def": 123
}