Я использую Webpack File-Loader для загрузки изображений в background-image в файлах CSS.В локальной среде и на сервере у меня возникли проблемы с различными URL-адресами.
Локально в IIS у меня есть веб-сайт с именем «платформа», поэтому URL-адрес http://localhost/platform
.
Производствосервер работает с корневой папкой, поэтому URL-адрес на рабочем месте равен http://application-name.com
, без сегмента «платформа».
Теперь я использую обходной путь, при котором я проверяю NODE_ENV и добавляю или нет сегмент «платформа»:
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
publicPath: process.env.NODE_ENV === 'development' ? '/platform/' : '/'
}
Этот подход не настолько надежен, поэтому кто-нибудь может помочь мне определить универсальный publicPath?
Ранее я сделал это по-другому:
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
publicPath: (url, resourcePath, context) => {
return `../../../${url}`;
}
}
Но теперь это не такработать больше для меня, потому что теперь мне нужно запустить свой код в разных местах проекта, и могут быть разные уровни URL:
http://application-name.com/1/2
http://application-name.com/1/2/3