因此,您正在构建一个静态服务的独立单页应用程序。它连接到API。
您的应用程序在main.js
中有一个JSON对象,如下所示:
var config = {
apiPath: 'http://dev.api.example.com',
appTitle: 'hello'
};
您使用Grunt创建发布版本,这会将您的所有SASS,ES6,AMD模块等代码转换为一个或两个JavaScript文件以及此配置对象。
您的生产API网址为http://api.example.com
,当您执行发布版本时,您希望配置中的此值更改。 (也许你也想改变其他配置参数)。你有一个发布配置
var config = {
apiPath: 'http://api.example.com'
};
如何在构建期间根据不同类型的发布环境更改JavaScript配置文件。请注意,我想将发布配置合并为默认值,不使用所有设置维护完全独立的文件。虽然有用于设置构建模式的grunt插件,但我没有找到任何能够更新配置文件的插件,只有黑客可以更改指向哪个文件。
ASP.NET有web.config
转换完成此操作,例如,发布转换中的任何属性都将覆盖打包时的'default'配置。这样的工作流程是否存在使用grunt或其他什么?
答案 0 :(得分:0)
最后,我通过使用环境变量和一个名为Confidence的神奇节点的组合来解决自己的问题,在这个节点中,您将所有不同的envs配置设置放在一个文件中,并将它们解析为单个基于过滤器的配置(例如环境变量) - 然后可以使用WebPack等工具将这些注入到构建过程中。