我们正在尝试在一个项目中引入clojurescript,该项目目前是用angularjs编写的。我们使用的是一个外部javascript库-- datamaps。我们使用:foreign-libs编译器选项以以下方式获取依赖项文件:
:compiler {:output-to "resources/public/js/testable.js"
:main "gofigure.test-runner"
:foreign-libs [{:file "globe.js"
:provides ["globe"]}
{:file "datamaps/src/js/datamaps.js"
:provides ["datamaps"]}
{:file "d3/d3.js"
:provides ["d3"]}
{:file "topojson/topojson.js"
:provides ["topojson"]}}}我们正面临这样的错误:“无法读取未定义的属性'world‘”
我们将问题范围缩小到数据映射文件中的问题,我们认为这是因为在外部库选项中我们提到了特定的datamaps.js文件,但我们遗漏了数据映射文件夹中的其他文件,因此没有准确地编译整个库。
有没有办法把整个库作为一个依赖来包含,而不仅仅是单个文件?
发布于 2019-04-07 13:20:53
Shadow-cljs可以解决这个问题。
Shadow-cljs以最小的配置可靠、优化地解决了这些问题。简单地说,shadow-cljs允许您使用npm或yarn安装npm模块,并使用生成的package.json绑定外部依赖项。
有关更多详细信息,请访问https://gist.github.com/jmlsf/f41b46c43a31224f46a41b361356f04d
https://stackoverflow.com/questions/42785391
复制相似问题