我将 pdfjs 与 Angular 14 一起使用
当我尝试使用其中一个功能时,它给了我错误:顶级等待实验未启用:
import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';
import { ImageItem, TextItem } from '../../models/item';
import * as pdfjsLib from 'pdfjs-dist';
@Component({
selector: 'app-pdf-editor-view',
templateUrl: './pdf-editor-view.component.html',
styleUrls: ['./pdf-editor-view.component.scss']
})
export class PdfEditorViewComponent {
@Input() textItems: TextItem[] = [];
@Input() imageItems: ImageItem[] = [];
name = 'Angular';
private pdfDoc: any;
@ViewChild('canvas', { static: true }) canvas!: ElementRef<HTMLCanvasElement>;
ctx!: CanvasRenderingContext2D;
pdfurl = "../../../../../Luxoft - Angular Advanced.pdf";
constructor() { }
async showPdf() {
const loadingTask = pdfjsLib.getDocument(this.pdfurl);
this.pdfDoc = await loadingTask.promise;
}
}
错误:
./node_modules/pdfjs-dist/build/pdf.mjs - 错误:模块解析失败:未启用顶级等待实验(设置experiments.topLevelAwait:true以启用它)
文件是用这些加载器处理的:
* ./node_modules/@angular-devkit/build-angular/src/babel/webpack-loader.js
* ./node_modules/source-map-loader/dist/cjs.js
您可能需要一个额外的加载器来处理这些加载器的结果。
错误:顶级等待实验未启用(设置experiments.topLevelAwait:true以启用它)
我尝试使用自定义 webpack 配置并更改 angular.json 来处理它。但这并没有帮助
额外的webpack.config.js
const path = require('path');
module.exports = {
experiments: {
topLevelAwait: true,
},
};
您好,没有足够的代表来添加评论。不过你找到解决办法了吗,我也遇到了同样的问题