我应该在哪里使用我自己在Clojure luminus应用程序中编写的put代码文件?如何从其中导出函数并将其导入到另一个文件?假设,我创建了一个文件"helper1.clj",如何访问"src/clj/my_app/routes/home.clj“中的函数?我应该把文件"helper1.clj“放在哪里?
发布于 2016-08-19 03:54:13
看看project.clj文件。您将看到一行内容为:
:source-paths ["src/clj"]这意味着src/clj目录将是所有名称空间的根目录。命名空间是由点分隔的目录路径,命名空间的最后一部分是文件名。举个例子:
File name: my_app/src/clj/dirone/dirtwo/myfile.clj
Namespace in this file: (ns dirone.dirtwo.myfile ...) 现在,您可能应该将新文件放在src/clj/my_app中。然后,helper.clj的名称空间将如下所示:
(ns my-app.helper ...)您可以在src/clj下创建新目录,例如src/clj/newdir。该目录中名为anotherfile.clj的文件的命名空间为:
(ns newdir.anotherfile ...)查看您的my_app/routes/home.clj文件并查看顶部,您将看到:require [my-app.layout :as layout]的位置。您可以添加以下内容来引用文件helper.clj中的函数myfunc
;... list of items under :require
[my-app.helper :as h]
;...
(def something (h/myfunc ...))https://stackoverflow.com/questions/39024028
复制相似问题