luminus 中的自定义文件
Custom files in luminus
在 Clojure luminus 应用程序中,我应该在哪里使用自己编写的代码文件?以及如何从中导出函数并将其导入另一个文件?比如说,我创建了一个文件 "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 ...))
在 Clojure luminus 应用程序中,我应该在哪里使用自己编写的代码文件?以及如何从中导出函数并将其导入另一个文件?比如说,我创建了一个文件 "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 ...))