使用Webpack

时间:2017-05-08 10:07:51

标签: javascript node.js d3.js webpack

我最近将PostCSS,Gulp和Webpack整合到我的工作流程中,但是学习曲线非常陡峭(尤其是Webpack!)而且我在编译d3时遇到了问题。我已经使用npm install d3 --save安装了d3并尝试将其导入为:

var d3 = require("d3");

哪个不起作用。我尝试安装loader,添加

     new webpack.ProvidePlugin({
        d3: "d3"
    }),

到我的webpack.config文件并导入为

var d3 = require("d3!");

也没有用。我也试过了 here here (last answer re the loader)这些东西。

我的浏览器出现以下错误:

Uncaught ReferenceError: d3 is not defined

gulp在命令行中给出了以下错误:

..../node_modules/loader-runner/lib/loadLoader.js:35 throw new Error("Module '" + loader.path + "' is not a loader (must have normal or pitch function)");

我的代码仓库是here

提前致谢!

1 个答案:

答案 0 :(得分:2)

我想我会指出d3从v3到v4的更新是非常具有破坏性的。我遇到了与你提到的问题类似的问题,直到我意识到d3代码在几乎所有情况下都发生了变化。

通过使用

,我能够通常使用webpack导入d3(作为节点模块安装)
import * as d3 from "d3";

之后,错误使得它看起来没有导入d3,但这是因为我使用的是d3 v3样式代码。

例如:

d3.layout.pie() 

现在只是:

d3.pie()

重构后,一切都按预期工作。 我不确定这是否是你问题的原因,但这是值得注意的事情。