繁体   English   中英

可以将 crossorigin 属性添加到由 angular cli 生成的脚本标签吗?

[英]possible to add crossorigin attribute to script tags generated by angular cli?

是否可以将 crossorigin 属性添加到由 angular cli 生成的脚本标签?

运行我的 angular 应用程序时,脚本标签被添加到我的 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 错误,因为未设置 Authorization 标头。 如果添加了 crossorigin 标记,则设置 Authorization 标头。 因此,如果我希望我的用户能够使用 FF 或 Edge,我需要能够添加该 crossorigin 属性。

感谢您阅读我的问题。

从 angular/cli 8.1 ( PR ) 开始,可以设置一个标志来更改 index.html 中的脚本标签(以及与此相关的链接标签)

--crossOrigin=none|匿名|使用凭证
定义提供 CORS 支持的元素的 crossorigin 属性设置。 默认值:无https://angular.io/cli/build

另一种选择是使用 post build npm 步骤来解包 index.html 并根据各种需要对其进行更改

对于服务器端的这些操作, cheeriojs想到了(查看此示例以获取更多详细信息)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM