Clojure luminus中的自定义文件

Clojure luminus中的自定义文件,clojure,luminus,Clojure,Luminus,在Clojure luminus应用程序中,我应该在哪里使用我自己编写的put代码文件?如何从中导出函数并将其导入另一个文件?比如说,我已经创建了一个文件“helper1.clj”,我如何从它访问“src/clj/my_app/routes/home.clj”中的函数?我应该把文件“helper1.clj”放在哪里?看看project.clj文件。您将看到一行内容如下: :source-paths ["src/clj"] 这意味着src/clj目录将是所有名称空间的根目录。名称空间是由点分隔的

在Clojure luminus应用程序中,我应该在哪里使用我自己编写的put代码文件?如何从中导出函数并将其导入另一个文件?比如说,我已经创建了一个文件“helper1.clj”,我如何从它访问“src/clj/my_app/routes/home.clj”中的函数?我应该把文件“helper1.clj”放在哪里?

看看
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 ...))

查看
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 ...))