2016-01-12 2 views
1

Есть ли разница между следующим, если предположить, что мы сначала позвонили app.set('thePath', thePath)?Есть ли разница между app.use ("/", express.static) и app.use (express.static)?

  1. app.use('/', express.static(thePath))
  2. app.use(express.static(thePath))
  3. app.use(express.static(app.get('thePath')))

Похоже, что (1) и (2) будет делать то же самое.

Насколько я знаю, в Javascript, если вы вызываете функцию, которую он оценивает в это время, вызывается, поэтому даже если app.get('thePath') изменится или изменится thePath, все они останутся неизменными.

Если есть разница, сообщите мне, что и почему это так.

ответ

2

http://expressjs.com/en/4x/api.html#app.use

Если путь не указан, то по умолчанию «/».

Да, 1 & 2 одинаковы. Предполагая, что thePath является переменной, указывающей на действительный корневой каталог статических активов.

+0

Я видел это, но как насчет подкаталогов? Вы уверены, что они не ведут себя по-разному? Подкаталоги/ –

+0

Я не совсем уверен, что вы просите. Статические файлы можно запросить rom '/' (корневой каталог) вашего сервера узлов. Файлы будут обслуживаться из каталога, на который указывает 'thePath'. –

+0

'var thePath = 'public';' Тогда, если вы запросите ''/profile.png'', оно будет получено из '/ public/profile.png' –

Смежные вопросы