我使用构建服务器来构建我的Vue项目,使用Vue 2模板提供的npm run build
命令。 Vue模板还提供了访问可在config
目录下的文件中配置的特定于环境的数据的功能。 prod.env.js
等内容您可以通过process.env.API_PREFIX
访问此数据,如模板手册中所示。
我希望能够构建一次代码,然后将相同的构建(由Dist
中的输出定义)部署到多个服务器,但让不同的服务器使用不同的配置(不同{{1}等)。目前,Web包编译器在构建时扩展了API_PREFIX
引用。因此,我必须为每个环境重建。
我可以考虑一些方法来实现这一点 - 显然配置的加载必须在运行时进行,并且鉴于它在浏览器中运行并且必须引用某个文件,它必须通过AJAX请求Web服务器单独或类似地提供的一些静态JSON配置。但是我有兴趣知道这里有人会如何处理这个要求。
答案 0 :(得分:2)
如果不了解您的具体架构,很难给出具体的建议。相反,我会留下一些一般性的想法。
为了以理智的方式做你想做的事情,你可能必须从你服务于前端的域中派生出前缀。
除了在运行时使用window.location
之外,您可以使用一些东西:
/api/myinformation
- 前缀将自动从提供前端的域派生。即使它没有解决您的具体情况,也希望它能让您了解可用的情况。