如果在 REPL 中尝试(这是我调试的方式),需要 requires web.network-service 并且它会找到一个匹配的文件,然后加载它,这会留下 web.netwok-service 作为已定义的命名空间。
在此处进行 require-resolve web.network-service/run 将会抛出异常 -- 并且 CLI 会告诉你请求的函数不存在。
我认为它可以在那里区分 nil 和异常,并在每种情况下提供不同的错误消息(nil 表示命名空间已加载但函数无法解析,异常表示命名空间加载失败:它缺失或存在语法错误)。