我正在尝试将"新"分叉的 vis-timeline 5.1.0 与最新的 angular 8 版本一起使用,但在尝试运行应用程序时出现和错误:
[ng] 错误 ./src/app/pages/interventions/interventions-details/interventions-details.page.ts [吴]找不到模块:错误:无法解析 中的"vis">'D:_GIT\appbo\src\app\pages\interventions\interventions-details'
我通过 npm 安装了时间线:
npm install vis-timeline --save
然后,我安装了以下类型:
npm install @types/vis --save-dev
在我的页面上,我导入了该类并尝试运行该应用程序:
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
它起作用了。这将在两天前提交的下一个版本中修复。
编辑:v6.0.0修复了它