Під час спроби збірки проекту на Angular можуть виникати різноманітні помилки, які можуть стати перешкодою у продовженні роботи. Однією з таких помилок є помилка в файлі transforms.js, яка може з’явитися під час запуску ng serve або інших команд Angular CLI.
Помилка, з якою можуть стикнутися розробники, зазвичай має наступний вигляд:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[error] ...folders\node_modules\@angular-devkit\core\src\json\schema\transforms.js:17 value ??= schema.default; ^^^ SyntaxError: Unexpected token '??=' at wrapSafe (internal/modules/cjs/loader.js:979:16) at Module._compile (internal/modules/cjs/loader.js:1027:27) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (C:\Users\Zendbook\Documents\dilau_new\EmphaSoft-master1\EmphaSoft-master\node_modules\@angular-devkit\core\src\json\schema\index.js:37:33) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) |
Ця помилка вказує на те, що у файлі transforms.js використовується синтаксис, який не підтримується в даній версії JavaScript. Конкретно в цьому випадку, помилка з’являється через використання операції злиття nullish (??=), яка була введена у більш пізніх версіях JavaScript (ECMAScript 2020).
Для вирішення цієї проблеми, необхідно внести зміни в код, що викликає цю помилку. Одним з варіантів є заміна операції злиття nullish на альтернативний синтаксис, який підтримується в даній версії JavaScript. Наприклад, можна використати оператор присвоєння за умови (||=), який зазвичай використовується для того ж самого.
Наприклад, рядок коду:
1 |
value ??= schema.default; |
Можна замінити на:
1 |
value ||= schema.default; |
Це дозволить уникнути помилки, пов’язаної з несумісністю синтаксису. Після внесення змін необхідно знову запустити команду збірки проекту для перевірки та підтвердження виправлення помилки.
Як правило, в подібних випадках також рекомендується оновити версії встановлених залежностей до останніх доступних версій, оскільки це може вирішити інші можливі конфлікти або проблеми, пов’язані зі сумісністю.