Многие npm-пакеты больше не поддерживаются в последних версиях углового CLI, теперь это встроенные модули Node, поэтому вам нужно импортировать эти модули вручную, чтобы изменить их в node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js
find
node:false
замените false
такими необходимыми пакетами, как этот
node:{http:true,https:true,url:true}
Я знаю, что это обходной путь, а не воспроизводимое исправление, но он работает
, вы можетесделайте его более динамичным, создав файл патча и запустив его после установки npm. Это должно быть примерно так:
node buildPatch.js
buildPatch.js
const fs = require('fs');
const path = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';
fs.readFile(path, 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
var result = data.replace(/node: false/g, 'node: {http:true,https:true,url:true}');
fs.writeFile(path, result, 'utf8', function (err) {
if (err) return console.log(err);
});
});