Из документации:
магазина/загрузка состояние компилятора из/в файл JSON. Это приведет к постоянным идентификаторам модулей и кусков.
Ожидается абсолютный путь. recordsPath используется для recordsInputPath и recordsOutputPath, если они остались неопределенными.
Это необходимо при использовании замены Hot Code между несколькими вызовами компилятору.
https://webpack.github.io/docs/configuration.html#recordspath-recordsinputpath-recordsoutputpath
Для примера предположим, что простое приложение со следующей структурой:
./src
├── index.js
└── test.js
Где ./src/index.js
является:
require('./test.js');
и ./src/test.js
это просто пустой файл ,
Используйте файл node.js API для компиляции файла, например.
const webpack = require('webpack');
const webpackConfig = {
entry: {
'app': [
path.resolve(__dirname, './src')
]
},
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].js'
},
recordsPath: path.resolve(__dirname, './recordsPath.json')
};
const compiler = webpack(webpackConfig,() => {});
Он будет генерировать ./recordsPath.json
:
{
"modules": {
"byIdentifier": {
"src/index.js": 0,
"src/test.js": 1
},
"usedIds": {
"0": 0,
"1": 1
}
},
"chunks": {
"byName": {
"app": 0
},
"byBlocks": {},
"usedIds": {
"0": 0
}
}
}
Чтобы понять случай использования для модуля идентификаторами, вам необходимо ознакомиться с тем, как webpack расслоения сценариев. В случае применения выше, то выход будет эквивалентен:
(function(modules) {
// Module resolution logic.
// Excluded for brevity.
})
([
function(module, exports, __webpack_require__) {
// ./index.js
__webpack_require__(1);
},
function(module, exports) {
// ./test.js
}
]);
Как вы можете видеть, внутренне, WebPack использует идентификаторы для обозначения модулей. recordsPath
предоставляет эти идентификаторы.
Я также обнаружил, что это необходимо для кэширования LT при использовании с CommonChunksPlugin. – wlingke
Итак, это создаст файл внутри моего проекта на моей локальной машине, который я затем добавлю в .gitignore и тому подобное? –
@RafaelEyng выглядит как рекомендация проверить его - https://webpack.js.org/configuration/other-options/#recordspath – olore