0
나는 아주 간단한 프로젝트를 가지고 있습니다. 나는 boot와 cljs로 가장 간단한 프로젝트를 만들었다. 그것은 성공적으로 컴파일하고 html에서 올바른 로그를 볼 수있었습니다. 내가 비동기에 대한 기본적인 지원을 추가 할 때 나는 메시지를 받았습니다 :간단한 부팅 프로젝트가 cljs 및 async와 작동하지 않습니다.
No such namespace: clojure.core.async, could not locate clojure/core/async.cljs, clojure/core/async.cljc, or Closure namespace "clojure.core.async"
프로젝트 단지의 구조는 다음과 같습니다 index.html을의
exemplo_cljs
html
index.html
src
exemplo_cljs
core.cljs
build.boot
내용 :
<!doctype html>
<html lang="en">
<head>
<title>Hello</title>
</head>
<body>
<h2>Hello</h2>
<script src="main.js"></script>
</body>
</html>
핵심 .cljs
(ns exemplo-cljs.core
(:require [clojure.core.async :as async]))
(def exercise (async/chan))
;; enable cljs to print to the JS console of the browser
(enable-console-print!)
;; print to the console
(println "Hello, World 4!")
및 build.boot
(set-env!
:source-paths #{"src"}
:resource-paths #{"html"}
:dependencies '[[adzerk/boot-cljs "1.7.170-3"]
[org.clojure/core.async "0.2.371"]])
(require '[adzerk.boot-cljs :refer [cljs]])
원래 작업 프로젝트를 제외하고는 동일한 기본 구조를 가지고 있던 요구와 core.cljs 파일의 채널 데프 때문 년대 build.boot
:
그래서 당신은 당신의 NS 양식을 변경해야합니다. 부팅 할 때 혼란스러워졌습니다. –cljs 버전이 다른가요? cljs/Clojure import 네임 스페이스가 최근에 변경되었다고 생각했습니다. 참조 : http://blog.fikesfarm.com/posts/2016-07-03-clojurescript-clojure-namespace-aliasing.html –