Почему мы используем path.join и не используем относительный путь для доступа к общедоступному каталогу на сервере Express и node?
Я не понимаю, почему мы не используем относительный путь в нашем приложении вместо этого пути, который мы получаем после path.join. нельзя ли использовать относительный путь, например express.static('../public')?
const express = require('express');
const path = require('path');
const app = express();
const publicDir = path.join(__dirname,'../public')
app.use(express.static(publicDir));`
1 ответ
Если вы используете относительный путь с express.static()
, то это зависит от того, где вы запустили свое приложение, не обязательно относительно __dirname
Это означает, что простое изменение каталога, из которого вы запускаете приложение, может сломать ваше приложение.
Если вы построите полный путь, используя __dirname
, то этот аспект вашего приложения не сломается, если вы запустите приложение из другого каталога. Это просто более надежно. Если вы хотите, чтобы путь был относительно__dirname
, то вы также можете включить это в свой код.