是否有可能在构建后无需再次构建应用即可更改配置文件?

时间:2018-08-02 08:10:33

标签: webpack vuejs2

我对我的应用程序提出的一项要求是拥有一个config.jsonconfig.js文件,该文件存在于包含设置(即REST API基本URL)的项目目录之外,我将在其中使用这个例子。

然后将REST API基本URL导入到axios.defaults.baseURL,并在应用程序中使用它,但更改配置文件不应要求我再次运行npm run build

我通常会使用生产ENV变量,但这仍然需要我再次构建我的应用程序,对吗?

我的想法是:

  1. 构建用于生产的应用
  2. 制作一个脚本,以安装新版Linux上所需的任何内容 服务器并运行它
  3. 让一个人编辑config.js文件即可设置应用程序,无论何时何地(例如REST API的服务器地址更改时)都无需构建应用程序(他们不想保留开发人员)服务器上的东西)

我上面写的还有可能吗?

2 个答案:

答案 0 :(得分:0)

您可以使用gulp或类似工具来触发npm run build。 Gulp具有观察者和触发者的监视功能。

更好的选择是要求config.js标记中的<head>文件作为全局变量,并读取javascript中的参数。在这种情况下,您的网络服务器将在每次请求页面时交付配置文件。

答案 1 :(得分:0)

我已设法部分解决了我的问题-您可以编辑appconfig.json,保存它,重新启动服务器,并且设置将更改,而无需再次构建它。

我所做的是将appconfig.json放置到dist文件夹中,该文件夹是webpack生成的文件所在的目录,然后在main.js中,我用axios来获取此配置文件并设置应用程序的配置。

这可行,但是文件必须位于dist文件夹中。如果我将其放在其他位置,则需要再次构建我的应用程序。我希望它位于dist文件夹的外面,这可能吗?