如何使用 ECMAScript (vanilla javascript) 和模块 es6 导入

Bru*_*ena 5 javascript d3.js umd

我读了这篇文章,我想使用 D3.js (v4+) 仅使用这样的 import 语句:

import { selection } from '../node modules/d3/build/d3.js';
Run Code Online (Sandbox Code Playgroud)

但是,因为代码输出是UMD(或读取this)并且无法导入,因为某些全局变量未定义,并且 ES6 无法解析例如中的绝对名称node_modules,并且 vanilla 不支持没有扩展名的 import 语句,如下所示:

import * as someFeature from './myAwesomeModule';
Run Code Online (Sandbox Code Playgroud)

这是导入模块的模式,每一天都在成长,就像你在这里看到的那样

今天我如何在没有任何插件的情况下使用 import 语句?

小智 1

您可以像这样导入 d3:

import * as d3 from 'd3';

在此处查看更多信息:https ://github.com/d3/d3/blob/master/README.md#installing

  • 感谢您回答我的问题,但这在普通版中不起作用,因为浏览器无法找到没有路径的模块,只能使用其他插件(如汇总或 webpack,如您的链接显示)。 (3认同)