是否可以将 crossorigin 属性添加到 Angular cli 生成的脚本标签中?
运行我的角度应用程序时,脚本标签被添加到我的index.html的末尾:
<script src="runtime-es2015.3d05cbd29d24231258bf.js" type="module"></script>
<script src="polyfills-es2015.28da6787754ec8436843.js" type="module"></script>
<script src="main-es2015.4106b7f4d43a05cb792d.js" type="module"></script>
是否可以配置 angular-cli,以便当这些标签包含在构建 index.html 中时,将 crossorigin 属性添加到脚本声明中:
<script src="runtime-es2015.3d05cbd29d24231258bf.js" type="module" crossorigin="use-credentials"></script>
我为什么要问这个?我的应用程序部署到使用基本身份验证的 apache 服务器。使用 Firefox 或 Edge(chrome 很好)时,对 javascript 模块的请求会收到 401 错误,因为未设置授权标头。如果添加了跨域标签,则会设置授权标头。因此,如果我希望我的用户能够使用 FF 或 Edge,我需要能够添加跨域属性。
感谢您阅读我的问题。
从 角度/cli 8.1 开始(PR https://github.com/angular/angular-cli/pull/14844)有一个标志可以设置来更改index.html中的脚本标签(以及与此相关的链接标签)
--crossOrigin=none|匿名|使用凭证
定义提供 CORS 支持的元素的跨域属性设置。
默认值:无https://angular.io/cli/build https://angular.io/cli/build
另一种选择是使用构建后 npm 步骤来解开 index.html 并根据各种需求更改它
欢呼雀跃 https://github.com/cheeriojs/cheerio在服务器端考虑这些类型的操作(检查这个example https://github.com/angular/angular-cli/issues/7824#issuecomment-332498000了解更多详细信息)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)