在CLJS中使用webpack编译库作为外部

时间:2017-07-03 20:09:37

标签: clojure webpack clojurescript cljsbuild

我有一些使用D3的遗留代码,并使用webpack编译。 我想把D3位作为外部库移植,并将它们包装成试剂/重构组件,但我在导入JS位时遇到了问题。

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

  • JS库code
  • 用于(UMD)的webpack config编译它。
  • compiled库(没有缩小可读性)。

现在在JS项目中我会像这样使用库:

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

var m = new module.Module()

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

我试图模仿:

然而我一直在:

  

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

1 个答案:

答案 0 :(得分:0)

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

  

使用cljsjs / d3包

     

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

     

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

     

您现在可以通过全局Javascript命名空间访问它来使用新添加的库,例如js / ReactPlease检查项目的文档以找出库使用的全局。请注意:您不能使用:as或:引用CLJSJS依赖项。