sim*_*olo 5 javascript build-process release-management single-page-application
因此,您正在使用静态服务的 JavaScript 构建一个独立的单页应用程序。它连接到一个 API。
您的应用程序中有一个 JSON 对象,main.js如下所示:
var config = {
apiPath: 'http://dev.api.example.com',
appTitle: 'hello'
};
Run Code Online (Sandbox Code Playgroud)
你使用 Grunt 创建一个发布版本,这会将你所有的 SASS、ES6、AMD 模块等代码转换成一两个 JavaScript 文件,以及这个配置对象。
您的生产 API url 是http://api.example.com,当您进行发布构建时,您只想更改配置中的此值。(也许您也想更改其他配置参数)。你有一个发布配置
var config = {
apiPath: 'http://api.example.com'
};
Run Code Online (Sandbox Code Playgroud)
在构建期间如何根据不同类型的发布环境更改 JavaScript 配置文件。请注意,我想将发布配置合并到默认配置中,而不是维护具有所有设置的完全独立的文件。虽然有用于设置构建模式的 grunt 插件,但我没有找到任何能够更新配置文件的插件,只有更改指向哪个文件的 hacks。
ASP.NET 具有web.config完全执行此操作的转换,例如,发布转换中的任何属性都将覆盖打包时的“默认”配置。使用 grunt 或其他东西是否存在这样的工作流程?
最后,我通过使用环境变量和一个名为Confidence的令人惊叹的节点的组合自己解决了这个问题,在该节点中,您将所有不同的 envs 配置设置放在一个文件中,并且它们根据过滤器解析为单个配置(例如环境变量) - 然后可以使用 WebPack 等工具将它们注入到构建过程中。
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |