Angular ng build выдает ошибку link.parentNode.insertBefore не является функцией

У меня есть приложение Angular v16, которое в настоящее время работает нормально, когда я использую его на своем локальном компьютере. В любом случае, когда я пытаюсь его построить, он дает мне следующий ответ:

✔ Browser application bundle generation complete.
✔ Copying assets complete.
✖ Index html generation failed.
link.parentNode.insertBefore is not a function

Я не использую функцию InsertBefore ни в одном из своих компонентов или сервисов. Я думал, что это может зависеть от того, что я установил jquery и datatables в свой проект (поскольку я знаю, что есть некоторые проблемы несовместимости между angular и jquery, и я видел, что в jquery.js часто используется метод InsertBefore), но даже после удаления всех зависимостей и комментируя ссылки, он продолжает завершать сборку ng с той же ошибкой. Что это может быть? Я действительно понятия не имею...

Пожалуйста, задайте этот вопрос в StackOverflow: stackoverflow.com/questions/67537268/…

amit_krishna_ 11.07.2024 14:38
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
70
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

просто используйте ссылку?.parentNode?.insertBefore или (ссылку?.parentNode как угодно)?.insertBefore

Проблема в том, что, как я только что сказал, я нигде не использую эту функцию и не знаю, где она используется... Похоже, она генерируется внутри main.js, когда я создаю приложение...

Francesco Cappellini 11.07.2024 13:46

когда проверяется совместимость версии узла

Никита Середа 15.07.2024 06:56

Наверное от этого зависело, но версию поменять не могу, так как работаю на VPS

Francesco Cappellini 16.07.2024 11:51

при повышении или понижении версии угловых пакетов

Никита Середа 16.07.2024 13:12
Ответ принят как подходящий

Я думаю, что существует проблема, когда Angular пытается манипулировать DOM во время процесса сборки.

  1. Вы можете очистить кеш и установить все зависимости заново.

    npm cache clean --force

    rm -rf node_modules

    npm install

  2. Обновить зависимости Angular

    ng update @angular/cli @angular/core

  3. Проверено, используете ли вы какие-либо собственные скрипты или есть ли проблемы со сторонними библиотеками.

  4. Также проверьте, нет ли каких-либо неправильных конфигураций в angular.json и tsconfig.json, которые могут повлиять на процесс сборки.

  5. Иногда файл index.html может вызвать проблемы в процессе сборки. Вы можете попробовать создать новый проект Angular и скопировать index.html из нового проекта в существующий проект. И сделайте настройку в соответствии с вашими потребностями.

  6. Вы также можете использовать подробное ведение журнала для получения более подробной информации о сборке.

    ng build --verbose

Вы можете попробовать все эти шаги. Я надеюсь, что вы найдете решение в процессе.

Это было правильное направление, я просто пересобрал приложение с нуля и поместил все файлы и папки обратно в новый проект, спасибо!

Francesco Cappellini 15.07.2024 18:14

Добро пожаловать.. веселитесь ;)

MD Shamsul Arefin Shad 16.07.2024 20:27

Другие вопросы по теме

Ошибка: не удалось разрешить различные зависимости Storybook с помощью Storybook 8 и PNPM
Развертывание приложения Teams Toolkit через CI/CD завершается с ошибкой «Эта команда работает только для проекта, созданного с помощью Teams Toolkit»
React Native w/Expo: странная ошибка при использовании run:android
Сборка npm run не удалась из-за несовместимости машинописного текста или lodash
Start-Process (pnpm run build) Эту команду невозможно запустить из-за ошибки: %1 не является допустимым приложением Win32
Установите пакет TypeScript из подпапки репозитория GitHub
Я получаю необработанный отказ от обещания, для которого мне нужен правильный синтаксис в nodejs
Приложение Vite React не открывает браузер по умолчанию с терминала
Использование NPM для создания приложения React: СЕРЬЕЗНОЕ ИЗМЕНЕНИЕ: webpack <5 используется для включения полифилов для основных модулей node.js по умолчанию. Это уже не так
Npm не может разрешить дерево зависимостей до удаления node_modules