Подтвердить что ты не робот

Как перейти с помощью __dirname в иерархию папок

Моя структура приложения:

 /app
     /css
     /js
     ..
 /script
    /server.js

Я пытаюсь использовать __dirname для указания папки/приложения при использовании

app.use(express.static( __dirname + '/app'));

Я не знаю, что искать в Интернете, пожалуйста, помогите.

4b9b3361

Ответ 1

если вы находитесь в server.js, то вы имеете в виду

app.use(express.static( __dirname + '/../app'));

Ответ 2

Вы можете использовать path модуль.

Модуль path предоставляет утилиты для работы с файловыми и каталогическими дорожками.

const path = require('path');

app.use(express.static(path.join(__dirname, '..', 'app')));

Ответ 3

__ dirname - это просто строка, вы можете на ней манипулировать строкой.

app.use(express.static(__dirname.substring(0, __dirname.indexOf("\\routes") + '\app'));

Буду честным, я использовал его для другой цели:

res.sendFile('./uploads/' + req.params.id + '/' + req.params.filename, {"root": __dirname.substring(0, __dirname.indexOf("\\routes"))});

Поэтому вам, возможно, придется работать с /vs \a bit.

Ответ 4

Я сделал простое решение, но оно работает. на вашем сервере запуска script js вы можете добавить следующее:

var publicFolder = __dirname + '/public/';
config.public_folder = publicFolder;

Затем, когда вам нужен доступ к этой папке, где в коде в подпапках или маршрутах вам нужно ввести переменную общей папки. и используйте его следующим образом:

  res.sendFile(config.public_folder+'unsubscribed-success.html');