D3.js 为什么';刻度线';从未使用过?;以及为什么我必须作为<;脚本d3.v4.js>?;

D3.js 为什么';刻度线';从未使用过?;以及为什么我必须作为<;脚本d3.v4.js>?;,d3.js,rollupjs,D3.js,Rollupjs,我创建了以下文件。 ▼src/scripts/main.js $ npm install d3-scale $ npm install --save-dev rollup rollup-plugin-babel babel-preset-es2015-rollup rollup-plugin-node-resolve 我创建了以下文件。 ▼rollup.config.js var yScale = d3.scaleLinear() .domain([10, 1200]) .

我创建了以下文件。

▼src/scripts/main.js

$ npm install d3-scale

$ npm install --save-dev rollup rollup-plugin-babel babel-preset-es2015-rollup rollup-plugin-node-resolve

我创建了以下文件。

▼rollup.config.js

var yScale = d3.scaleLinear()
    .domain([10, 1200])
    .range([0, 500]);

console.log(yScale(1200)); // 500
<script src="build/js/main.min.js"></script>

汇总-c

⚠️ 'scaleLinear'是从外部模块“d3 scale”导入的,但 从未使用过

以下文件是自动创建的

▼build/js/main.min.js

$ npm run build 

我创建了以下文件。

▼index.html

(function () {
'use strict';

var yScale = d3.scaleLinear().domain([10, 1200])
.range([0, 500]);
console.log(yScale(1200)); // 500

}());
<script src="https://unpkg.com/d3"></script>
<script src="build/js/main.min.js"></script>

您收到该消息是因为您正在将
scaleLinear
导入配置文件,而不是应用程序。从配置文件中删除该行,您将不会得到警告

严格来说,您的
src/scripts/main.js
文件应该如下所示:

从'd3 scale'导入{scaleLinear};

var yScale=scaleLinear()//首先我尝试“1.将d3 scale捆绑到你的应用程序中”。我添加了一个问题。如何包含节点解析插件,以便Rollup可以找到包含它的d3 scale源代码?你根本不需要传递任何选项-
resolve()
本身应该在d3 scale的情况下工作
<script src="build/js/main.min.js"></script>
import babel from 'rollup-plugin-babel';
import resolve from 'rollup-plugin-node-resolve';

export default {
  entry: 'src/scripts/main.js',
  dest: 'build/js/main.min.js',
  format: 'iife',
  plugins: [
    babel({
      exclude: 'node_modules/**',
    }),
    resolve({
     //I want to know what to write here
    })
  ]
};