如果我用leiningen创建一个新的clojure项目,它会像这样创建一个目录树:
.
|-- doc
| `-- intro.md
|-- project.clj
|-- README.md
|-- src
| `-- hello_friend
| `-- core.clj
`-- test
`-- hello_friend
`-- core_test.clj
Run Code Online (Sandbox Code Playgroud)
通常,我想要的只是一个单独的clojure文件,我想使用leiningen来处理库并开始一个repl.
我有两个问题:
(1)使用这种结构可以使leiningen正常工作
.
|-- project.clj
`-- hello.clj
Run Code Online (Sandbox Code Playgroud)
我更喜欢这个.(实际上更好的方法是将project.clj作为hello.clj文件的一部分)
(2)深层目录结构有什么好的理由吗?或者它只是来自java-land的习惯?
请注意,就我所见,这工作正常:
project.clj
(defproject generic "0.0.0"
:dependencies
[[org.clojure/clojure "1.4.0"]
[hiccup "1.0.2"]]
:source-paths ["."]
:main two
:repl-options { :port 4001 :init (println "(-main) to run") }
)
Run Code Online (Sandbox Code Playgroud)
one.clj
(ns one
(:use hiccup.core))
(def doom (html [:h1 "doom"]))
Run Code Online (Sandbox Code Playgroud)
two.clj
(ns two
(:require one))
(defn -main []
(println one/doom))
Run Code Online (Sandbox Code Playgroud)