如何使用Angular 8预览项目中的静态文件?

时间:2019-07-12 23:17:13

标签: angular

我正在使用Angular 8,在我的项目中,我有一个文件夹,其中包含pdf发行说明,我想在浏览器(本地chrome pdf查看器)中预览pdf。

我需要在路由器中进行任何配置吗?

该文件位于Angular项目中,目前在本地尝试。

<a href="./release_notes/ReleaseNotes-Version_1.0.38.pdf" target="_blank">Release Notes</a>

当我单击带有指向我的静态文件的url的链接时,路由器会喊出没有使用该名称的路由。

1 个答案:

答案 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