TL; DR: «восстановление» происходит только в режиме watch
или development
в режиме .
Webpack
Webpack, похоже, не кэширует файл, а только в памяти.
кэш
Кэшируйте сгенерированные модули веб-пакетов и чанки для повышения скорости сборки. Кэширование будет автоматически включено по умолчанию в режиме просмотра, а веб-пакет установлен в режим разработки.
Документы Webpack | параметры кэша
Поскольку по умолчанию он включен только в режиме разработки и просмотра, каждая ваша команда должна быть новой сборкой. Вы можете отключить эту опцию cache
, чтобы быть уверенным, или определенно цель production
:
node_modules/.bin/webpack --output-path ~/target --mode=production
Я столкнулся с этим вопросом сразу после проверки новых изменений в веб-пакете 5, одним из которых было разрешить кэширование в локальный файл .
cache
: объект удален: установка объекта в кэш-память невозможна
cache.type
добавлено: теперь можно выбирать между "памятью" и "файловой системой"
Я так понимаю, это означает, что в настоящее время в веб-пакете 4 невозможно иметь кеш в файловой системе.
Редактировать : Вы не упомянули об этом в вопросе, но я только что увидел, что вы упомянули babel
в обосновании награды.
Бабель
Если вы используете babel-loader
, есть опция cacheDirectory
, которая по умолчанию false
. Однако, если включено, каталог по умолчанию находится в node_modules/.cache/babel-loader
.
Вот фрагмент кода в документации, выделенный мной:
cacheDirectory
: по умолчанию false. Если установлено, данный каталог будет использоваться для кэширования результатов загрузчика. Будущие сборки веб-пакетов будут пытаться читать из кэша, чтобы избежать необходимости запускать потенциально дорогостоящий процесс перекомпиляции Babel при каждом запуске . Если для параметров ({cacheDirectory: true})
установлено значение true, загрузчик будет использовать каталог кэша по умолчанию в node_modules/.cache/babel-loader
или откат к каталогу временных файлов ОС по умолчанию, если в любом корневом каталоге не найдена папка node_modules
.
опции загрузчика Babel