使用 vis-timeline 和 angular 8 找不到模块错误

Module not found error with vis-timeline and angular 8

我正在尝试将 "new" 分叉的 vis-timeline 5.1.0 与最新的 angular 8 版本一起使用,但是在尝试 运行 应用程序时出现错误:

[ng] ERROR in ./src/app/pages/interventions/interventions-details/interventions-details.page.ts [ng] Module not found: Error: Can't resolve 'vis' in 'D:_GIT\appbo\src\app\pages\interventions\interventions-details'

我通过 npm 安装了 vis-timeline:

npm install vis-timeline --save

然后,我安装了以下类型:

npm install @types/vis --save-dev

在我的页面上,我导入了 class 并尝试 运行 应用程序:

import { Timeline, TimelineOptions, DataItem, DataSet } from 'vis';

@Component(
{
    selector: 'app-interventions-details',
    templateUrl: './interventions-details.page.html',
    styleUrls: ['./interventions-details.page.scss'],
})
export class InterventionsDetailsPage extends AppBasePage implements OnInit
{
    @ViewChild('revisionsTimeline', { static: true }) RevisionsTimeline: ElementRef;

    constructor() 
    { 

    }

    ngOnInit() 
    {
        this.RenderTimeline();
    }

    public RenderTimeline()
    {    
        //RANDOM DATA SOURCE FOR TESTING
        var items = new DataSet(
        [
            { id: 1, content: 'item 1', start: '2014-04-20'},
            { id: 2, content: 'item 2', start: '2014-04-14'},
            { id: 3, content: 'item 3', start: '2014-04-18'},
            { id: 4, content: 'item 4', start: '2014-04-16', end: '2014-04-19'},
            { id: 5, content: 'item 5', start: '2014-04-25'},
            { id: 6, content: 'item 6', start: '2014-04-27', type: 'point'}
        ]);

        //SOME BASIC PROPS TO CONFIG THE TIMELINE
        let timelineOptions:TimelineOptions = 
        {
            start: '2014-03-10',
            end: '2014-05-10',
            verticalScroll: false,
            editable: false,
            zoomable:true, 
            locale: "pt"
        };

        //INIT TIMELINE INSTANCE
        let timeline:Timeline = new Timeline(this.RevisionsTimeline.nativeElement, items, timelineOptions);
    }

}

我是不是做错了什么? 有人可以帮我解决问题吗?

由于您使用 npm install vis-timeline --save 安装了软件包,它将被保存到 ./node_modules/vis-timeline

要使用此包,您需要使用 vis-timeline 作为包名:

import { Timeline, TimelineOptions, DataItem, DataSet } from 'vis-timeline';

@types/vis 包似乎也不适用于此。您需要 @types/vis-timeline,但看起来这些还不存在。短期修复可能是将 @types/vis 复制到您的项目(假设它们是相同类型)。

我将 node-modules/@types/vis 复制到 node-modules/@types/vis-timeline 并且成功了。这将在 commit 两天前的下一个版本中修复。

编辑:v6.0.0 修复了它