我将我的项目部署在web应用程序(带有cli的Angular 7)上,并且可以在我的网站上看到它“正常运行”。 问题是似乎该应用程序无法访问资产文件夹,所有请求均失败。
e {headers: t, status: 404, statusText: "Not Found", url: "https://<mysite>/assets/i18n/it.json", ok: false, …}
error: "The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
headers: t {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure response for https://<mysite>/assets/i18n/it.json: 404 Not Found"
name: "HttpErrorResponse"
ok: false
status: 404
statusText: "Not Found"
url: "https://<mysite>/assets/i18n/it.json"
我要更改的是
的虚拟路径site\wwwroot
到
site\wwwroot\dist\<name of project>
添加以下设置:
"WEBSITE_NODE_DEFAULT_VERSION" "8.10.0"
"SCM_COMMAND_IDLE_TIMEOUT" "1800"
如果我使用控制台导航到该文件夹,则存在该文件夹,但是如果我通过浏览器导航到该文件夹,则响应为:
“您无权查看此目录或页面。”
文件也存在,但给我错误:
“您要查找的资源已被删除,名称已更改或暂时不可用。”
我什至尝试将资产文件夹添加为“虚拟应用程序和目录”中的目录:
VIRTUAL PATH PHYSICAL PATH TYPE
/ site\wwwroot\dist\mysite Application
/assets site\wwwroot\dist\mysite\assets Directory
但没有任何改变
你能帮我吗?
答案 0 :(得分:0)
这似乎是Azure WebApp的常见问题,默认情况下不支持静态json文件。要解决此问题,您需要为mimetype
添加json的web.conf
设置。请参阅我的答案以获取其他类似的SO线程Getting "404 not found" on doing a GET on local file in Azure web app。
这是mimetype
的示例web.conf
设置。
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
希望有帮助。