如何在shadow-cljs中管理静态文件?

Lyh*_*kia 0 clojurescript shadow-cljs

例如,我有一个该项目的index.html。

我希望每当我构建项目时,它都会自动复制到公共项目中。有没有内置的方法来实现这一点?

Tho*_*ler 5

有一个内置的钩子可以复制(并可能修改)HTML 文件。

可以通过以下方式在您的构建配置中进行配置

:build-hooks
[(shadow.html/copy-file "src/html/index.html" "public/index.html")]
Run Code Online (Sandbox Code Playgroud)

所有路径都是相对于项目根目录的。这只复制指定的文件,没有其他内容。您可以编写自己的挂钩来复制更多文件,或者仅使用单独的命令手动复制文件。

我通常只是将所有文件从一开始就放在“最终”位置,并且只有一个public/jsgit-ignored 的文件夹,我可以将其删除,并在构建 CLJS 时重新创建。这样一开始就不需要复制任何东西。;)