Я пытаюсь построить свою библиотеку реагирования, однако она не работает на mode: production
. Когда я импортирую свою библиотеку в другое приложение, я получаю следующее сообщение:
Uncaught TypeError: Cannot set property props of #<TWithProps> which has only a getter
.
Далее:
The above error occurred in the <_class3> component
Проблема в том, что она, похоже, связывает мою библиотеку, однако при импорте связанного библиотеки я получаю 2 ошибки выше. Дополнительно Этого не происходит в режиме разработки.
Я пытался следовать многим руководствам, однако все они приводили к одному и тому же результату. Мое первое предположение состоит в том, что это, вероятно, связано с моим плагином минимизатора (я пробовал оба UglifyPlugin
и TerserPlugin
), однако это не так. Я также прочитал в документации вебпака, что он должен использовать минимизирующий плагин, если он есть. Однако это не похоже на это?
Это мой веб-пакет
module.exports = {
mode: 'production',
entry: {
index: [
'babel-polyfill',
'./src/index.js',
],
},
output: {
path: srcBuild,
filename: '[name].js',
chunkFilename: '[name].[chunkhash].js',
libraryTarget: 'commonjs',
libraryExport: 'default',
},
optimization: {
noEmitOnErrors: true,
minimizer: [
new TerserPlugin({
cache: true,
parallel: true,
sourceMap: true,
terserOptions: {
mangle: false,
compress: {
reduce_funcs: false,
reduce_vars: false,
keep_classnames: true,
keep_fnames: true,
keep_fargs: true,
pure_getters: true,
},
},
}),
],
}
Я ожидаю, что моя библиотека будет работать так же хорошо, как и в mode: development
.