Dagre Angular2 SystemJS模块加载
Dagre Angular2 SystemJS module loading
使用 Angular 2.4.0,tsc 2.3.1,我正在尝试将 Dagre 与 JointJS/graphlib 结合使用,以使用 SystemJS 作为加载器在 Angular2 中绘制图形。
http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html
我不知道如何按照JointJS的要求在浏览器中获取'dagre'对象
var dagre = require('dagre');
我的 Angular2 组件包括
import * as dagre from 'dagre';
我的 SystemJS 配置:
(function () {
System.config({
map: {
'dagre': '/static/libs/dagre/dagre.js'
}
});
})();
无法加载 dagre 会导致 JointJS 在尝试调用 dagre.layout 时出现未定义的错误:
Cannot read property 'layout' of undefined
// Executes the layout.
dagre.layout(glGraph, { debugTiming: !!opt.debugTiming });
这可能是库未自行导出的问题,还是我必须在我的 SystemJS 配置中指定格式?
所以我不确定到底是什么解决了这个问题,但我做了三件事:
1) npm install -D @types/dagre
2) import * as dagre from dagre;
在我的 component.ts
3) 添加格式:全局到 SystemJS 配置
(function () {
System.config({
map: {
'lodash': '/static/libs/lodash/index.js',
'dagre': '/static/libs/dagre/dagre.js',
'graphlib': '/static/libs/graphlib/grpahlib.umd.js',
},
meta: {
'dagre': {
format: 'global',
deps: ['lodash'],
},
'graphlib': {
format: 'global',
deps: ['lodash'],
}
}
});
})();
使用 Angular 2.4.0,tsc 2.3.1,我正在尝试将 Dagre 与 JointJS/graphlib 结合使用,以使用 SystemJS 作为加载器在 Angular2 中绘制图形。
http://www.daviddurman.com/automatic-graph-layout-with-jointjs-and-dagre.html
我不知道如何按照JointJS的要求在浏览器中获取'dagre'对象
var dagre = require('dagre');
我的 Angular2 组件包括
import * as dagre from 'dagre';
我的 SystemJS 配置:
(function () {
System.config({
map: {
'dagre': '/static/libs/dagre/dagre.js'
}
});
})();
无法加载 dagre 会导致 JointJS 在尝试调用 dagre.layout 时出现未定义的错误:
Cannot read property 'layout' of undefined
// Executes the layout.
dagre.layout(glGraph, { debugTiming: !!opt.debugTiming });
这可能是库未自行导出的问题,还是我必须在我的 SystemJS 配置中指定格式?
所以我不确定到底是什么解决了这个问题,但我做了三件事:
1) npm install -D @types/dagre
2) import * as dagre from dagre;
在我的 component.ts
3) 添加格式:全局到 SystemJS 配置
(function () {
System.config({
map: {
'lodash': '/static/libs/lodash/index.js',
'dagre': '/static/libs/dagre/dagre.js',
'graphlib': '/static/libs/graphlib/grpahlib.umd.js',
},
meta: {
'dagre': {
format: 'global',
deps: ['lodash'],
},
'graphlib': {
format: 'global',
deps: ['lodash'],
}
}
});
})();