Таким образом, вы получаете два разных каталога в Интернете, которые отражают ваши локальные каталоги, а не один URL-адрес, который переключается между двумя локальными каталогами.
Другими словами, шаблон URL:
http://your.server.com/public/*
Обслуживает файлы из локального каталога, publicпока:
http://your.server.com/public2/*
Обслуживает файлы из локального каталога public2.
Кстати, это также полезно, если вы не хотите, чтобы static обслуживал файлы из корня вашего сервера, а скорее из более квалифицированного пути.
Идеально @facetcounter! Просто указал скрипт в мою директорию! скрипт (src = "/ public2 / alertTest.js")
Коди
Если вы используете React и пытаетесь обслуживать два отдельных приложения, вам необходимо добавить "homepage": "/public"и "homepage": "/public2"в соответствующее приложение для реакции package.json. Для получения дополнительной информации об использовании двух приложений для реагирования см. Мой ответ здесь stackoverflow.com/a/48569896/4746648
Дэнни Хардинг
это очень полезно, особенно когда вам нужна sharedпапка, чтобы вы могли использовать ее, "./"и "./shared"вы могли легко обмениваться файлами js: 3 Спасибо
Jaacko Torus
55
Вы также можете «объединить» каталоги в один видимый каталог.
Если я правильно понимаю, конфликтов имен файлов не происходит, потому что узел использует первую версию найденного файла. Если он увидит main.jsв static/нем, не будет продолжать смотреть alternate_static/.
RobW
2
Это все еще неприятно, если вы ожидали, что файл alternate_staticкогда-либо будет обслужен.
Randolpho
41
Это невозможно с помощью одной инъекции промежуточного ПО, но вы можете внедрить staticпромежуточное ПО несколько раз:
Ответы:
Вы также можете установить путь, по которому статические файлы будут отправляться в Интернет, указав дополнительный (первый) параметр,
use()
например:Таким образом, вы получаете два разных каталога в Интернете, которые отражают ваши локальные каталоги, а не один URL-адрес, который переключается между двумя локальными каталогами.
Другими словами, шаблон URL:
Обслуживает файлы из локального каталога,
public
пока:Обслуживает файлы из локального каталога
public2
.Кстати, это также полезно, если вы не хотите, чтобы static обслуживал файлы из корня вашего сервера, а скорее из более квалифицированного пути.
HTH
источник
"homepage": "/public"
и"homepage": "/public2"
в соответствующее приложение для реакции package.json. Для получения дополнительной информации об использовании двух приложений для реагирования см. Мой ответ здесь stackoverflow.com/a/48569896/4746648shared
папка, чтобы вы могли использовать ее,"./"
и"./shared"
вы могли легко обмениваться файлами js: 3 СпасибоВы также можете «объединить» каталоги в один видимый каталог.
Структура каталогов
/static
/alternate_static
Код
И static, и alternate_static будут обслуживаться, как если бы они находились в одном каталоге. Тем не менее, остерегайтесь сокрытия имен файлов.
источник
main.js
вstatic/
нем, не будет продолжать смотретьalternate_static/
.alternate_static
когда-либо будет обслужен.Это невозможно с помощью одной инъекции промежуточного ПО, но вы можете внедрить
static
промежуточное ПО несколько раз:Объяснение
Посмотрите на connect / lib / middleware / static.js # 143 :
Существует
options.root
статический корень, который вы определяетеexpress.static
илиconnect.static
вызываете, иpath
это путь запроса.Посмотрите подробнее на connect / lib / middleware / static.js # 154 :
Путь проверяется только один раз, и если файл не найден, запрос передается следующему промежуточному программному обеспечению.
Обновление для Connect 2.x
Ссылки на код для Connect 2.x не актуальны, но по-прежнему возможно использование нескольких статических промежуточных программ.
источник
});
источник