我有一些使用D3的遗留代码,并使用webpack编译。 我想把D3位作为外部库移植,并将它们包装成试剂/重构组件,但我在导入JS位时遇到了问题。
我创建了一个演示问题的小项目:
现在在JS项目中我会像这样使用库:
import * as module from 'd3-lib.js'
var m = new module.Module()
m.setData("miserables.json").render();
我试图模仿:
我在project.clj中使用foreign-libs指定库提供的ns。
Import图书馆。
然而我一直在:
未捕获错误:goog.require找不到:d3_lib
答案 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依赖项。