0

我有一些使用 D3 并使用 webpack 编译的遗留代码。我正在考虑将 D3 位移植为外部库并将它们包装为试剂/重新框架组件的想法,但我在导入 JS 位时遇到问题。

我创建了一个演示问题的小项目:

  • JS 库代码
  • 用于(UMD)编译它的 webpack配置。
  • 编译后的库(为了便于阅读,没有缩小)。

现在在一个 JS 项目中,我会使用这样的库:

import * as module from 'd3-lib.js'

var m = new module.Module()

m.setData("miserables.json").render();

我试图模仿:

然而我不断得到:

未捕获的错误:goog.require 找不到:d3_lib

4

1 回答 1

0

您是否尝试过使用 cljsjs 的 d3 包?

使用 cljsjs/d3 包

将依赖坐标 [cljsjs/d3 "4.3.0-5"] 添加到项目中的 :dependencies 列表中。确保在项目中的某处需要 cljsjs.d3,以便将其添加到已编译的 ClojureScript 代码中。

(ns your.namespace (:require [cljsjs.d3]))

您现在可以通过全局 Javascript 命名空间 egjs/React 访问新添加的库来使用它。请查看项目文档以了解该库使用的全局库。请注意:您不能将 :as 或 :refer 与 CLJSJS 依赖项一起使用。

于 2017-07-04T00:39:45.117 回答