我在 Angular Component 中显示 PDF 文件时遇到问题。
组件.html
<ngx-extended-pdf-viewer
[src]="'./instruction.pdf'"
backgroundColor="#ffffff"
[height]="'90vh'"
[useBrowserLocale]="true"
></ngx-extended-pdf-viewer>
Run Code Online (Sandbox Code Playgroud)
我在同一目录中有pdf文件。
angular.json
"scripts": [
"node_modules/ngx-extended-pdf-viewer/assets/pdf.js",
"node_modules/ngx-extended-pdf-viewer/assets/viewer.js"
]
Run Code Online (Sandbox Code Playgroud)
浏览器中的错误:
GET http://localhost:4200/assets/pdf.worker.js 404 (Not Found)
我做错了什么?请注意,我是 Angular 的初学者。
我是 ngx-extended-pdf-viewer 的开发者。
小故事:您必须将pdf.worker.js
文件添加为资产:
"assets": [
{ "glob": "**/pdf.worker.js", "input": "node_modules/ngx-extended-pdf-viewer/assets", "output": "/assets/" },
...
}]
Run Code Online (Sandbox Code Playgroud)
很长的故事:
直到最近,我建议将所有三个文件复制到scripts
部分:pdf.js
,pdf.worker.js
,和viewer.js
。几周前,我发现虽然这个解决方案有效,但它远非理想。最好不要将 service worker 包含在 bundle 中。它被设计为延迟加载。这就是我将文件从该scripts
部分移到该assets
部分的原因。
您会因出色的表现而获得奖励。延迟加载 service worker 允许它在单独的线程中运行。因此用户可以从非阻塞 I/O 和非阻塞渲染中受益。这是一个显着的性能提升,特别是对于超过 200 页标记的大型文档。
归档时间: |
|
查看次数: |
3909 次 |
最近记录: |