我如何让Ember为这个url https://www.some-url.com/app-app-site-association服务?
注意,app-app-site-association是一个文件。不幸的是,Apple选择不在此文件中添加扩展名。
理想情况下,访问此url应呈现:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9F32916B95.foo.bar.baz",
"paths": ["*"]
}
]
}
}发布于 2020-01-22 16:45:33
这里要理解的重要一点是,如果你想传递一个静态文件,它可能是你的/app-app-site-association,或者只是/something.jpg上的一个图像,这与ember无关。
Ember在浏览器中运行。所以整个ember路由都是在浏览器中进行的。这就是为什么你必须配置你的when服务器,当他找不到文件时,它会为index.html文件提供服务。
因此,当您输入example.com/something时,这将触发一个HTTP GET example.com/something。然后,您的yes服务器应检查文件something是否存在,如果存在,则应返回200 OK和该文件的内容。
如果If找不到文件something,它通常会以404 NOT FOUND响应。但是,当您使用SPA作为成员时,您需要配置您的when服务器,使其永远不会使用404 NOT FOUND响应,而是返回200 OK和index.html的主体。(you can see an example configuration in the ember guides, but this will be different for different webservers)
这将加载您的ember应用程序(您已经在index.html中包含了.js文件),ember将检查当前的url并启动ember路由。这在浏览器中发生。
因此,如果某个东西想要发出一个HTTP请求并获取文件app-app-site-association,它可能不想获取您的index.html,然后运行浏览器让ember做任何事情。它只是想要直接从你的the服务器获取文件。因此您的and服务器必须直接使用200 OK和该文件的内容进行响应。如果该文件刚刚存在,它可能会像我上面提到的那样执行此操作。
现在,ember项目有了一个public文件夹。如果你想在你的ember应用程序旁边有一些文件,这些文件应该只由你的you服务器提供服务,这是一个正确的地方。无论您放在其中的是什么,都会被复制到dist文件夹中。这意味着当您随后部署dist文件夹时,您也将部署该文件。
但是,要小心您的your服务器配置。因为该文件没有结尾,所以它可能会被用作text/plain。如果你想让它充当application/json,你需要相应地配置你的want服务器。
https://stackoverflow.com/questions/59851747
复制相似问题