【问题标题】:ng2-pdfjs-viewer - Error: Cannot match any routesng2-pdfjs-viewer - 错误:无法匹配任何路由
【发布时间】:2020-04-24 02:07:28
【问题描述】:

当使用ng serve 运行我的应用程序时,一切正常。但是在使用ng build --prod 构建它之后,我得到了......

ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 
'assets/pdfjs/web/viewer.html' 
Error: Cannot match any routes. URL Segment: 'assets/pdfjs/web/viewer.html'

...此时应该显示 pdfviewer 组件。我究竟做错了什么?感谢您的帮助。

【问题讨论】:

  • Heinob,我遇到了和你一样的问题,在尝试添加静态路径后,最终放弃了让这个特定的 PDF 查看器以角度工作。我发现了一个不同的 PDF 查看器,它开箱即用,与这个非常相似,并且在部署到生产环境时不会抛出该错误。这是第 3 方模块的链接:npmjs.com/package/ngx-extended-pdf-viewer

标签: angular pdfjs ng2-pdfjs-viewer


【解决方案1】:

在sn-p下面添加到

"projects.your-project-name.architect.build.options.assets"

angular.json 中的数组,基本上是"assets"

{
    "glob": "**/*",
    "input": "./node_modules/ng2-pdfjs-viewer/pdfjs",
    "output": "/assets/pdfjs"
}

注意:即使您的资产位于 src 文件夹中,它也是 /assets/pdfjs

它会自动复制pdfjs文件夹到node_modules/ng2-pdfjs-viewer。这比手动复制文件要好,因为手动复制文件可能会导致包更新时版本不一致。

【讨论】:

  • 还应该存在文件夹 assets/pdfjs
  • @YasarArafath 不需要。 Angular 会为你做这件事。
  • 我不这么认为
  • 它会在你构建应用程序后出现@YasarArafath
【解决方案2】:

我遇到了同样的问题,但我解决了。记录我的解决方案。我希望它会有所帮助。

  1. 在node_modules文件夹中找到ng2-pdfjs-viewer文件夹;
  2. 将pdfjs复制到项目中的assets文件夹中
  3. 重启

我的环境:angular5.2.10 + ionic5.4.13 + ng2-pdfjs-viewer(截至2020年3月12日的最新版本)

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 2017-11-13
    • 2021-01-01
    • 2019-06-16
    • 2017-03-01
    • 2018-09-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多