clojurescript的新手,并通过“现代CLJS”教程here。
它指示通过将domina添加到project.clj
来提取{{3}}。
:dependencies [[org.clojure/clojure "1.4.0"]
[compojure "1.1.5"]
[domina "1.0.0"]]
然后在ns
表单
(ns cljstut.login
(:use [domina :only [by-id value]]))
但是,当我在浏览器中实际运行它时,我在控制台日志中看到以下内容。
goog.require could not find: domina
好像我在某个地方遗漏了一些声明?但作为一个新手,整个构建过程相当不透明。任何疑难解答提示都非常感谢。
答案 0 :(得分:3)
project.clj
文件中的依赖关系和命名空间声明看起来很好。
如果使用lein cljsbuild auto
构建clojurescript代码,则需要重新启动该过程。我相信它应该在重启后自动引入新的依赖关系。
如果这不起作用,或者您没有使用lein cljsbuild auto
,请尝试手动在项目文件夹中运行lein deps
命令 - 它将从远程存储库中获取所有缺少的依赖项。
答案 1 :(得分:3)
此外,请确保您已保存project.clj
个文件并尝试运行lein clean
和lein cljsbuild clean
。
答案 2 :(得分:1)
我正在将modern-cljs更新为使用过的libs和lein插件的最新版本。目前我将系列更新到系列的第7个教程。您现在应该安全地通过将domina 1.0.2-SNAPSHOT更新到project.cljs:dependencies并将lein-cljsbuild 0.3.0更新到project.cljs:plugins中。
米莫
答案 3 :(得分:1)
只想添加命名空间中的拼写错误会触发相同的错误消息:
goog.require找不到:domina
示例(注意modern-cljs中缺少“j”):
(ns modern-cls.login
(:use [domina :only [by-id value]]))
我使用的是另一个项目名称,因此不同的命名空间只是为了勇敢。 当我从指南中复制粘贴时,它让我陷入困境,错误让我困惑了一段时间:)
答案 4 :(得分:0)
我在使用"现代CLJS"时遇到了同样的问题。教程。我的问题是无意中添加了" domina"依赖于project.clj的:plugins部分而不是:dependencies部分。
答案 5 :(得分:0)
我通过在index.html文件中按正确的顺序排列了这条错误消息。
正确的顺序:
<script src="js/expanding_gases.js" type="text/javascript"></script>
<script type="text/javascript">goog.require("expanding_gases.flow_gases");</script>
订单不正确:
<script type="text/javascript">goog.require("expanding_gases.flow_gases");</script>
<script src="js/expanding_gases.js" type="text/javascript"></script>
顺便说一下,为了理解“goog&#39;消息在这里: https://github.com/clojure/clojurescript/wiki/Quick-Start