С приведенными примерами:
app.use(express.static(__dirname + "/public"));
и
app.use("/", express.static(__dirname + "/public"));
разницы нет. Первый аргумент можно использовать в качестве префикса виртуального пути (поэтому путь фактически не существует в файловой системе), например:
app.use("/static", express.static(__dirname + "/public"));
Это приведет к тому, что статические файлы (например, http://localhost:3000/static/css/style.css
) будут сервером по пути /static
, но файлы будут находиться в каталоге public
.