Ответ 1
если вы находитесь в server.js, то вы имеете в виду
app.use(express.static( __dirname + '/../app'));
Моя структура приложения:
/app
/css
/js
..
/script
/server.js
Я пытаюсь использовать __dirname для указания папки/приложения при использовании
app.use(express.static( __dirname + '/app'));
Я не знаю, что искать в Интернете, пожалуйста, помогите.
если вы находитесь в server.js, то вы имеете в виду
app.use(express.static( __dirname + '/../app'));
Вы можете использовать path модуль.
Модуль path предоставляет утилиты для работы с файловыми и каталогическими дорожками.
const path = require('path');
app.use(express.static(path.join(__dirname, '..', 'app')));
__ 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.
Я сделал простое решение, но оно работает. на вашем сервере запуска script js вы можете добавить следующее:
var publicFolder = __dirname + '/public/';
config.public_folder = publicFolder;
Затем, когда вам нужен доступ к этой папке, где в коде в подпапках или маршрутах вам нужно ввести переменную общей папки. и используйте его следующим образом:
res.sendFile(config.public_folder+'unsubscribed-success.html');