我正在学习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
,我在编译器输出
警告:使用未声明的Var cljs.nodejs / __ dirname
所以,有两个问题:
感谢您的帮助!
答案 0 :(得分:1)
nodejs/__dirname
未定义。从来没有。 that namespace中只有三种定义。
__dirname
是每个节点模块的局部变量。因此,如果要访问该变量,则必须执行以下操作:
(prn (.readdirSync fs (js* "__dirname")))