我正在开发需要在路径上部署的Angular应用程序
有一台服务器将http://examplePath/AppSection重定向到http://localhost:8080。
所以,我想做的是在Angular.json中设置基本href属性,如下所示:
"serve": {
[..]
"options": {
"host": "0.0.0.0",
"port": 8080,
"browserTarget": "myApp:build",
"baseHref": "/myApp/"
},
[...]
执行此操作可访问该应用程序,但是对runtime.js,polyfill.js,main.js等的所有调用均不起作用,因为浏览器试图在这些文件上找到这些文件
然后,我了解了deployUrl属性,因此我将Angular.json设置为:
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {"deployUrl": "https://examplePath/AppSection/",
[...]
"serve": {
[..]
"options": {
"host": "0.0.0.0",
"port": 8080,
"browserTarget": "myApp:build",
"baseHref": "/myApp/"
},
[...]
此配置有效,但存在一些问题,浏览器通常从URL中删除AppSection /(我不知道为什么)。 然后我添加了AppSection /编辑了baseHref属性,结果是:
“ deployUrl”:“ https://examplePath/AppSection/”
“ baseHref”:“ / AppSection / myApp /”
此配置有效,但浏览器的sockjs-node存在一些问题:
与'wss:// examplePath / sockjs-node / 570 / wwadpefk / websocket'的WebSocket连接失败:WebSocket握手期间出错:意外的响应代码:404 GET
https://examplePath/sockjs-node/570/00lb5fwe/eventsource 404(未找到)VM3475 sockjs.bundle.js:1
获取https://examplePath/sockjs-node/570/kqry21k3/htmlfile?c=_jp.a5d54nx 404(未找到)
拒绝在框架中显示“ https://examplePath/sockjs-node/570/kqry21k3/htmlfile?c=_jp.a5d54nx”,因为祖先违反了以下内容安全策略指令:“ frame-ancestor'none'”。
老实说,我不了解在特定路径上部署该怎么做。