Начните пустой проект npm с типичным: npm init -y hello-world

Установите пакет npm lumo: npm i --save lumo-cljs

Используя компилятор закрытия Google, lumo может скомпилировать код clojurescript в javascript, а это означает, что мы должны иметь возможность писать простые скрипты узла ole в cljs.

Создайте скрипт сборки в package.json, чтобы скомпилировать код cljs с помощью lumo.

Создайте каталог src и файл с именем: hello_world.cljs и поздоровайтесь с миром единственным способом, который знают разработчики.

Теперь попробуйте запустить сборку, чтобы убедиться, что компилятор lumo работает. Вы должны увидеть печально известное сообщение, которое все видят при написании программы в первый раз.

Это было хорошей отправной точкой, если вам просто нужна очень простая среда для написания некоторого clojurescript, но давайте добавим пакет npm, чтобы убедиться, что мы можем использовать более широкую экосистему npm. Давайте просто подключим пакет, содержащий единственную функцию, которая создает объект со случайной шириной и глубиной вложенного объекта.

npm i random-object

Давай, назови это из нашего hello_world.cljs.

Переменная, возвращенная из (js/require "random-object"), представляет собой объект module.exports, который нам затем нужно деструктурировать с помощью (aget (js/require "random-object") "randomObject")) (вы можете пропустить этот шаг, если ваш модуль имеет экспорт по умолчанию). Теперь снова запустите сборку, и теперь у вас должен быть объект js со случайной шириной и глубиной.

Выглядит как набор вложенных javascript-объектов по тегу #js. Что, если нам нужен js-объект только с шириной 1 и глубиной вложенного объекта 1?

Один ключ объекта и один вложенный объект. Похоже, он работает! Теперь, когда в вашем распоряжении вся экосистема npm, мир — ваша устрица. Идите вперед ко мне и грабить!