#javascript #reactjs #webpack #subresource-integrity
Вопрос:
Я пытаюсь настроить пакет webpack-подресурс-целостность на моем config-overrides.js
(react-приложение-перемонтировано):
const { SubresourceIntegrityPlugin } = require('webpack-subresource-integrity');
module.exports = function override(config, env) {
config.optimization.splitChunks.cacheGroups = {
...config.optimization.splitChunks.cacheGroups,
project: {
test: /[\/]node_modules[\/]@project[\/]/
}
};
// added this part
config.output = {
crossOriginLoading: 'anonymous'
};
config.plugins = [...config.plugins, new SubresourceIntegrityPlugin()];
return config;
};
Я получаю TypeError: Cannot read property 'tap' of undefined
Я уже пытался удалить свои node_modules, yarn.заблокируйте, а затем переустановите пакеты, но я все равно получаю ту же ошибку.
Это полная ошибка:
/Users/me/myProject/node_modules/react-scripts/scripts/start.js:19
throw err;
^
TypeError: Cannot read property 'tap' of undefined
at /Users/me/myProject/node_modules/webpack-subresource-integrity/index.js:235:48
at SyncHook.eval [as call] (eval at create (/Users/me/myProject/node_modules/tapable/lib/HookCodeFactory.js:19:10), <anonymous>:89:1)
at SyncHook.lazyCompileHook (/Users/me/myProject/node_modules/tapable/lib/Hook.js:154:20)
at Compiler.newCompilation (/Users/me/myProject/node_modules/webpack/lib/Compiler.js:631:26)
at /Users/me/myProject/node_modules/webpack/lib/Compiler.js:667:29
at _next0 (eval at create (/Users/me/myProject/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
at eval (eval at create (/Users/me/myProject/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:26:1)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Комментарии:
1. можете ли вы добавить свой пакет. джосн ?
Ответ №1:
У меня есть решение, которое будет работать нормально, пожалуйста, выполните следующий шаг :
- удалите папку node_modules из каталога проекта
- удалите файл package-lock.json
- убедитесь, что очистили кэш, используйте эту команду npm cache clean —force
- после этого проверьте байты памяти с помощью этой команды проверка кэша npm
- а затем снова используйте установку npm