我正在使用Angular 8,在我的项目中,我有一个文件夹,其中包含pdf发行说明,我想在浏览器(本地chrome pdf查看器)中预览pdf。
我需要在路由器中进行任何配置吗?
该文件位于Angular项目中,目前在本地尝试。
<a href="./release_notes/ReleaseNotes-Version_1.0.38.pdf" target="_blank">Release Notes</a>
当我单击带有指向我的静态文件的url的链接时,路由器会喊出没有使用该名称的路由。
答案 0 :(得分:2)
Angular Dev Server将使用index.html
发送对非资产路径的响应。因此,如果您单击该路径,它将打开您的Angular应用程序,并且Angular路由器将尝试找到该路径的路由。
由于要查看静态文件,因此可以将发行说明文件夹作为资产注册到angular.json
,并在生产服务器上设置重写处理程序。通过将该文件夹注册为资产,在构建应用程序时会将其包括在内。示例:
angular.json
在您的angular.json
上找到构建选项,并将资产更改为以下内容:
{
"assets: [
"src/assets",
"src/release_notes"
]
}
生产服务器
您可以尝试使用dist
服务器来服务superstatic
文件夹,并将此配置添加到项目根文件夹的superstatic.json
文件中。仅当没有与请求路径匹配的文件/文件夹时,服务器才发送带有index.html
的响应。您可以使用命令superstatic
通过npm安装npm install -g superstatic
。
{
"rewrites": [
{
"source": "/**",
"destination": "/index.html"
}
]
}
使用以下命令启动服务器:
superstatic ./dist/your-app-name