Обслуживание экспресс-файлов из базового каталога

#express

#экспресс

Вопрос:

Как я могу обслуживать статические файлы из моего базового каталога? Будет ли это просто a / или мне нужно будет включить имя базового каталога, которое в этом случае будет Scanning

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

Ответ №1:

Довольно близко, всего несколько настроек!

 app.use(express.static(`${__dirname}/Scanning`))
 

Ответ №2:

Вам необходимо использовать или создать фактический полный путь к базовому каталогу. Вы не показываете свою фактическую структуру каталогов и где находится нужный каталог относительно каталога, из которого выполняется ваш код.

Если вы хотите express.static() обслуживать из Scanning каталога, который является подкаталогом каталога, в котором находится ваш код, вы должны сделать это:

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

Или, если Scanning это родной брат __dirname , тогда это было бы так:

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

Вы никогда не должны обслуживать файлы express.static() напрямую из __dirname , потому что это позволит вашему серверу обслуживать ваши фактические исходные файлы (а иногда и такие вещи, как учетные данные).

Комментарии:

1. Но что, если сканирование — это мой каталог? Мне просто нужно знать это для целей тестирования…

2. @KirtM9 — Тогда вы бы сделали app.use(express.static(__dirname)); , но я объяснил, что это опасно. Просто переместите свои общедоступные ресурсы в другой каталог и укажите на это вместо этого. Вы не должны использовать express.static() указатель на каталог вашего исходного кода.

3. @KirtM9 — Это ответило на ваш вопрос?