在我正在处理的一个相当大的项目中,我有一个单独的源文件夹,其中包含在前端(Clojurescript)和后端(Clojure)之间共享的.cljc文件。
我注意到,在CLJC文件中进行微小的更改(例如,添加一个空白行)会导致所有或大部分CLJC + Clojurescript文件被重新构建(正如编译器将:verbose列出为true所示)。这会在我的机器上造成大约45秒的延迟。奇怪的是,当CLJC不包含任何函数,并且任何其他CLJS/CLJC文件都不需要时,就会发生这种情况……
有人知道是什么导致了这种行为吗?我的项目文件非常标准,我使用的是最新版本(CLJS 1.9.293,lein-cljsbuild 1.1.5,甚至1.1.6-SNAPSHOT)。
不幸的是,仅仅为了测试这个问题,甚至不可能暂时从项目中删除这些问题。
发布于 2017-01-19 17:15:30
回答我自己的问题:
这个问题不是由我的项目的具体情况引起的--每个项目都会发生这个问题,因为CLJ或CLJC文件可能包含(当更改时)导致CLJS文件被隐式修改的宏。lein-cljsbuild因此会重新编译所有CLJS文件。
有关一些背景讨论,请参阅https://github.com/emezeske/lein-cljsbuild/issues/345
我已经在https://github.com/emezeske/lein-cljsbuild/issues/457上提交了一个错误报告
https://stackoverflow.com/questions/41729871
复制相似问题