Есть библиотека, которая разрабатывается по ходу, и основной проект, в котором эта библиотека используется. Допустим:
library.ts, его абсолютный путь - С:\Users\user1\projects\lib1\src\library.ts someProject.ts, абсолютный путь которого - C:\Users\user1\projects\someProject\src\someProject.tsБиблиотека написана на TypeScript и собирается Webpack-ом в JavaScript для исполнения в среде Node.js.
Нужно программно получить путь С:\Users\user1\projects\lib1\src в файле library.ts. Я уже решил эту задачу одним способом - через DefinePlugin, но мне не нравится, что в library.ts, __dirname возвращает лишь /. Из-за этого path.resolve(__dirname, 'fileName') даст C:\fileName.
Естественно, то я запускаю проект НЕ в корне диска C:
Для управления особыми переменными ноды у webpack есть специальная настройка в конфиге:
node: {
__dirname: ...,
}
Как написано в документации, для __dirname существует три варианта:
"mock" (по умолчанию) - всегда используется "/";true - используется относительный путь к директории, в которой лежит исходный файл (путь берется относительно настройки context);false - используется путь к директории, в которой лежит выходной файл (на самом деле, webpack вообще не трогает эту переменную, и её обрабатывает нода - так что в браузере этот вариант не сработает).Выбирайте вариант который вам подходит.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости