列出 __dirname 中的文件

Listing files in __dirname

我正在学习 ClojureScript,我正在尝试在 __dirname 中列出文件,我无法让它工作,我想问题在于我如何获得 __dirname 本身。

我让它在定义的文件夹中工作

(ns namespace
  (:require [cljs.nodejs :as node]))

(def fs (node/require "fs"))

(.readdirSync fs "/home/me")

但是当我这样做的时候

(ns namespace
  (:require [cljs.nodejs :as node]))

(def fs (node/require "fs"))

(.readdirSync fs node/__dirname)

当我 cider-eval-last-sexp 时,我什么也没得到。 node/__dirname 求值为 nil,我在编译器输出中有这个

WARNING: Use of undeclared Var cljs.nodejs/__dirname

那么,两个问题:

  1. 我知道最终编译的脚本放在 target/ 中,所以我应该考虑基本文件夹,如何在我的代码中指定它?
  2. 我正在使用 Spacemacs,我注意到 cider-repl CLJS my-project 缓冲区中出现错误,如何将它们打印到源缓冲区中?

感谢您的帮助!

nodejs/__dirname 未定义。从来没有。 that namespace.

中只有三个定义

__dirname 是每个节点模块的局部变量。所以如果你想访问那个变量,你必须这样做:

(prn (.readdirSync fs (js* "__dirname")))