$ cat deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.9.0-RC2"}
org.clojure/clojurescript {:mvn/version "1.9.946"}}
$ touch hello.xml
$ clojure -m cljs.browser.repl &
$ curl localhost:9000/hello.xml
<html><body><h2>页面未找到</h2>未在此服务器上找到页面/hello.xml。</body></html>
在cljs.repl.browser/ext->mime-type中添加条目表面上解决了这个问题。
1) 目前使用的MIME类型识别非常简单,并且对于大多数文件不返回正确的MIME类型。相反,这应该委托给宿主
(ns cljs.repl.browser
(:import [java.nio.file Files Paths]))
(defn get-content-type [path]
(Files/probeContentType (Paths/get path (into-array String []))))
2) 由于文件和套接字都是字节的高级抽象,cljs.repl.server/send-and-close应该对文件编码无感知,并且只需发送文件中的任何内容。目前这是通过cljs.repl.browser/mime-type->encoding处理的。
我将在明天准备好补丁。