通过 https 的 Angular 生产构建文件
Posted
技术标签:
【中文标题】通过 https 的 Angular 生产构建文件【英文标题】:Angular production build files over https 【发布时间】:2021-06-16 08:01:11 【问题描述】:当我在 Angular cli 中使用 ng serve 为我的 Angular 应用程序提供服务时,一切正常,我的文件:polyfill.js、styles.js、favicon.ico 通过 http 提供服务。但是,当我 ng build --prod 并通过某些 http 服务器提供该文件时,polyfill.js、styles.js、favicon.ico 是通过 https 请求的,并且由于这是没有 https 的本地服务器,因此加载失败。 我正在使用 Angular:11.0.4。 两年前我有一个类似的项目,我认为是 angular 9,我使用相同的 http 服务器,只是在不同的机器上,它按预期工作(没有 https)。 这里有什么问题?
【问题讨论】:
您是在根站点目录上构建,还是从子路径访问文件? 文件在 dist 文件夹中 不是我的意思。您是否从虚拟文件夹访问它?还是根域? 来自根域...我从 express 尝试过事件:app.use(express.static(path.join(__dirname, 'dist'))); //服务 Angular 应用 app.get('*', (req, res) => res.sendFile(path.join(__dirname, 'dist/index.html')); ); 在构建项目时或直接在文件中更改基本路径。ng build --base-href="/demos/"
【参考方案1】:
是 Content-Security-Policy 标头强制 https...当我尝试简单的 http-server form npm 时意识到这一点...
【讨论】:
http-server 是否有任何标志可用于在本地开发中禁用此功能? 我认为 flr http-server 默认是禁用的以上是关于通过 https 的 Angular 生产构建文件的主要内容,如果未能解决你的问题,请参考以下文章