您正在使用JavaScript构建一个独立的单页面应用程序,该应用程序以静态方式提供服务,并连接到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插件可以设置构建模式,但我没有找到任何能够更新配置文件的插件,只有改变指向哪个文件的hack方法。
ASP.NET拥有web.config转换功能,可以完美地实现此功能。例如,发布转换中的任何属性都会覆盖打包时的“默认”配置。是否存在类似的工作流程,可以使用grunt或其他工具实现此功能呢?