Превышен максимальный размер стека вызовов при добавлении PWA в Angular
Я пытаюсь установить сервисный работник в моем приложении, но после выполнения следующей команды отображается следующая ошибка.
ng add @ angular / pwa --project ServiceWorkerdemo
ng add @angular/pwa --project ServiceWorkerdemo
Installing packages for tooling via npm.
npm WARN rollback Rolling back node-pre-gyp@0.10.0 failed (this is probably harmless): EPERM: operation not permitted, lstat 'path\ServiceWorkerdemo\node_modules\fsevents\node_modules'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ @angular/pwa@0.11.3
updated 1 package and audited 47713 packages in 25.858s
found 0 vulnerabilities
Installed packages for tooling via npm.
**Maximum call stack size exceeded**
это показывает Максимальный размер стека вызовов превысил сообщение об ошибке.
Хотя я очищаю кеш, он снова показывает ту же ошибку.
>npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
**path\ServiceWorkerdemo>ng add @angular/pwa --project ServiceWorkerdemo
Installing packages for tooling via npm.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ @angular/pwa@0.11.3
updated 1 package and audited 47713 packages in 26.054s
found 0 vulnerabilities
Installed packages for tooling via npm.
Maximum call stack size exceeded
Вместо того, чтобы отмечать как дубликат, любезно предложите мне ответ, я уже попробовал очистить кеш, но все еще показываю сообщение об ошибке. Вы можете увидеть в изображении также.
Заранее спасибо.
2 ответа
Если вы не используете Angular 7 или выше, вам нужно выполнить что-то вроде
ng add @angular/pwa@v6-lts --project ...
чтобы убедиться, что установлена правильная версия модуля, которая работает с вашей версией Angular.
(Также см. https://github.com/angular/angular-cli/issues/12914)
У меня была точно такая же ошибка, как и у вас (Angular 6.1), и я смог успешно решить ее таким образом.
У меня та же проблема. Я смог заставить его работать, указав предыдущий стабильный выпуск:
ng add @ angular / pwa @ 0.8.7 --project my-project-name
Вы можете проверить решение этой публикации SO, где говорится, что эта ошибка вызвана одной функцией, вызывающей другую функцию и т. Д., Пока она не достигнет предела стека вызовов. Это называется рекурсивным циклом функции.
Чтобы исправить это, убедитесь, что у вашей рекурсивной функции есть базовый случай, который можно встретить:
(function a(x) {
// The following condition
// is the base case.
if ( ! x) {
return;
}
a(--x);
})(10);
Вы можете проверить вкладку ресурсов Chrome Dev Tool.