我已经闲逛了几个小时,但是无法正常工作。我想在我的应用程序中导入SimpleBar,但失败了。



我设法使npm软件包在今天早些时候开始工作,但是在调整大小时存在一些奇怪的问题,并且由于npm软件包仅随附缩小版本,因此我求助于“真正的东西”。

我正在尝试将其包装在这样的指令中

import {
    Directive,
    Input,
    ElementRef,
    AfterViewInit
} from '@angular/core';

import { SimpleBar } from 'simplebar';

@Directive({
    selector: '[simpleBar]'
})
export class SimpleBarDirective implements AfterViewInit {
    constructor(private elementRef: ElementRef) { }

    ngAfterViewInit() {
        new SimpleBar(this.elementRef.nativeElement, {
            autoHide: true
        });
    }
};

但是,这给了我上面的错误信息。幸运的是,我设法启动并运行Plunker,它显示了完全相同的错误。

我在这里想念什么?

最佳答案

问题

src/simplebar中,您通过执行export default class SimpleBar{....}声明导出为默认,然后使用import {SimpleBar} from 'simplebar'导入

您只能通过不带括号的import SimpleBar from 'simplebar'导入默认导出。

当您想从文件中导入多个内容时,可以使用括号导入样式,例如-
import {SimpleBar, SimpleDialog, SimpleModal} from 'simplethings'
这样,文件中就不会导出default

解决方案

使用import SimpleBar from 'simplebar' default中的类导出中删除src/simplebar修饰符

10-08 18:40