Я пытаюсь скомпилировать некоторые библиотеки JS, которые у нас есть с lein-cljsbuild, чтобы их интегрировать в нашу базу кода ClojureScript. Сначала я добавил несколько goog.provide в начало каждого файла, и файлы иерархически организованы в дереве каталогов в соответствии с их пространством имен (например, на Java). Это пространство имен abc находится в src-js/libs/a/b/c.jsКомпиляция внешних JS-файлов с помощью Cljsbuild в ClojureScript
Я поместил JS-файлы в корневой каталог проектов в src-js/libs, и у меня есть следующее: компилятор варианты LEIN-cljsbuild:
{:id "prod",
:source-paths ["src-cljs" "src-js"]
:compiler
{:pretty-print false,
:libs ["libs/"]
:output-to "resources/public/js/compiled-app.js",
:optimizations :simple}}
ни один из файлов JS не компилируются в файл при компиляции приложения. Что не так?
Я также попытался поместить их в ресурсы/закрытие-js/libs без успеха.
Я использую lein-cljsbuild 0.3.0.
src-js (минус, а не слэш!) Не находится в пути к классам, поэтому я добавляю для этого. Вам не нужно указывать конкретную библиотеку, вы можете указать каталог, она работает, но у меня была ошибка: она не перекомпилирует автоматически файл в иерархии. См. Отслеживание ошибок в cljsbuild. Наконец, мои файлы не были скомпилированы, потому что они не были обязательными в файле cljs. б) произошла ошибка с файлом, содержащим символы минус/дефис. Смотрите также трекер ошибок. – z1naOK9nu8iY5A
Хорошо, действительно, можно указать целую директорию для компиляции JS-файлов. Как вы упомянули, каталог должен быть указан с помощью ключевого слова: lib и НЕ в пути источника: source. В моем примере: libs должен быть «src-js/libs», а затем он работает. – z1naOK9nu8iY5A