D3js - 如何在Angular CLI中集成d3-scale等迷你库?

时间:2016-07-13 09:53:46

标签: d3.js angular angular-cli

我在Angular CLI中使用d3js作为我的项目。 我已成功将d3js集成到项目中。为了执行我想要创建的内容,我需要scale方法。但是,D3js 4.0已被拆分为迷你库,似乎每个都必须单独集成到项目中。在这里,您可以看到 npm install d3 的结果:

node_module_tree

我尝试像这样导入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位于供应商文件夹中,构建也会失败,他找不到它。

这是集成这些迷你库的正确方法吗?

谢谢!

1 个答案:

答案 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文件。