Использование скомпилированной библиотеки webpack как внешней в CLJS

У меня есть старый код, который использует D3 и скомпилирован с веб-пакетом. Я играю с идеей портировать биты D3 в качестве внешней библиотеки и обернуть их в качестве компонента реагента / рекадра, но у меня есть проблемы с импортом битов JS.

Я создал небольшой проект, который демонстрирует проблему:

Теперь в проекте JS я бы использовал такую ​​библиотеку:

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

var m = new module.Module()

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

Я пытался имитировать это:

Все же я продолжаю получать:

Uncaught Ошибка: goog.require не может найти: d3_lib

1 ответ

Вы пытались использовать пакет d3 из cljsjs?

Использование пакета cljsjs/d3

Добавьте координаты зависимостей [cljsjs/d3 "4.3.0-5"] в список: зависимостей в вашем проекте. Убедитесь, что в вашем проекте требуется cljsjs.d3, чтобы он был добавлен в ваш скомпилированный код ClojureScript.

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

Теперь вы можете использовать только что добавленную библиотеку, обратившись к ней через глобальное пространство имен Javascript, например, egjs/ReactPlease. Проверьте документацию проекта, чтобы узнать, какую глобальную библиотеку использует. Обратите внимание: вы не можете использовать:as или: ссылаться на зависимости CLJSJS.

Другие вопросы по тегам