当我创建生产版本时,客户端会缩小所有文件。
我希望客户端排除可以放置端点变量的特定文件。
谢谢。
最佳答案
解决方案是将此文件移出 angular-cli 管道。将其重命名为 settings.js 并将其放入您的 Assets 文件夹中。
在此文件中,将端点公开为 DOM 窗口全局上的属性:window.ENDPOINT = '/some/end/point'
将此文件添加到 angular-cli.json 中的脚本数组中
在您的应用程序中从 window.ENDPOINT 引入端点
请考虑这对安全的影响。如果任何攻击者可以将脚本注入(inject)您的应用程序,他们将能够更改端点。
更新
另一种选择是将它们添加到 Assets 目录中的 json 文件中。
示例:assets/settings.json
{
"endpoint": "http://someUrl"
}
当您的应用程序启动时,发出对 /assets/settings.json
的请求,然后设置应用程序 API 端点。
或者,您可以允许您的客户端在更新端点后从源代码构建 ng build --prod
第四个选项是:如果您的客户端具有静态数量的端点(dev、qa、uat、prod),您可以将它们存储在环境文件中,并为每个环境自动构建(并交付构建)。
关于Angular cli 忽略文件以进行缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449263/