我在Angular CLI中使用d3js作为我的项目。 我已成功将d3js集成到项目中。为了执行我想要创建的内容,我需要scale方法。但是,D3js 4.0已被拆分为迷你库,似乎每个都必须单独集成到项目中。在这里,您可以看到 npm install d3 的结果:
我尝试像这样导入d3和d3-scale:
角-CLI-build.js
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/**/*.+(js|js.map)',
'es6-shim/es6-shim.js',
'reflect-metadata/**/*.+(ts|js|js.map)',
'rxjs/**/*.+(js|js.map)',
'@angular/**/*.+(js|js.map)',
'@angular2-material/**/*',
'bootstrap/**/*',
'ng2-bootstrap/**/*.js',
'moment/moment.js',
'd3/**/*.js',
'd3-scale/**/*.js'
]
系统config.ts
const map: any = {
'@angular2-material': 'vendor/@angular2-material',
'ng2-bootstrap': 'vendor/ng2-bootstrap',
'moment': 'vendor/moment/moment.js',
'd3': 'vendor/d3/build/d3.js',
'd3-scale': 'vendor/d3-scale/build/d3-scale.js'
};
my_component
import * as d3 from 'd3';
import * as d3Scale from 'd3-scale';
但即使我的d3-scale位于供应商文件夹中,构建也会失败,他找不到它。
这是集成这些迷你库的正确方法吗?
谢谢!
答案 0 :(得分:1)
我发现了我的问题。 绝对Typed不提供d3js 4.0的打字文件,但是3.0版本。
这就是为什么我有: - 可用的方法d3.scale.linear()返回undefined(d3 3.0的输入) - d3 4.0的库d3-scale在构建期间崩溃
所以我会回到d3js 3.0,直到他们为4.0提供d.ts文件。