我应该在哪里使用我自己在 Clojure luminus 应用程序中编写的放置代码文件?以及如何从中导出函数并将其导入另一个文件?说,我已经创建了一个文件“helper1.clj”,我怎样才能访问“src/clj/my_app/routes/home.clj”中的函数?我应该把文件“helper1.clj”放在哪里?
user6574649
问问题
59 次
1 回答
3
看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]
. 您将添加以下内容以myfunc
在文件中引用您的函数helper.clj
:
;... list of items under :require
[my-app.helper :as h]
;...
(def something (h/myfunc ...))
于 2016-08-18T19:54:13.427 回答