我想从项目根目录中的node_modules
目录提供文件。
所以例如我在我的页面中添加了这个:
[:link {:href "/font-awesome/css/font-awesome.css" :rel "stylesheet" :type "text/css"}]
现在我需要告诉compojure静态地提供node_modules
目录中的任何内容,我找不到方法。
如果我将node_modules移动到resources/public
dir,它会起作用,但我不希望这样。我需要找到一种方法来从项目目录中的任何位置提供文件(在本例中来自./node_modules
)
我尝试将:resource-paths ["node_modules"]
添加到profiles.clj
,
我试过了(compojure.route/resources "node_modules" {:root "../.." })
,
仍然没有奏效。
答案 0 :(得分:2)
这就是我所做的:
将:resource-paths ["node_modules"]
添加到project.clj - take a look at leiningen's sample
然后(compojure.route/resources "/" {:root "" })
。似乎有效。
upd :这显然暴露了不应该暴露的事物。例如现在可以通过在浏览器中导航到project.clj
来下载(compojure.route/files "/" {:root "node_modules" })
。不好。
更新2 :{{1}}这次是正确的。
答案 1 :(得分:-1)
将文件符号链接或在静态文件中的某些内容中使用@import
以包含您的字体真棒css。我还没有尝试过这个,但您也可以创建一个project_root / special_css文件夹并将其添加到project.clj中的css-dirs
或尝试将特殊文件本身添加到向量中(不确定是否可行) )。