0

我已经花了大约 10 个小时来解决这个错误:

ERROR in ./src/main.ts
Module build failed: Error: Angular Compiler was detected but it was an instance of the wrong class.
This likely means you have several @ngtools/webpack packages installed. You can check this with `npm ls @ngtools/webpack`, and then remove the extra copies.    at Object.ngcLoader (C:\PRO\ANG\Cezar\CezarBot\Ajuro.Client\node_modules\@ngtools\webpack\src\loader.js:33:15)
ERROR in ./src/polyfills.ts
Module build failed: Error: Angular Compiler was detected but it was an instance of the wrong class.
This likely means you have several @ngtools/webpack packages installed. You can check this with `npm ls @ngtools/webpack`, and then remove the extra copies.    at Object.ngcLoader (C:\PRO\ANG\Cezar\CezarBot\Ajuro.Client\node_modules\@ngtools\webpack\src\loader.js:33:15)

我添加图像是因为更容易识别。在我尝试解决它时,我更新了节点,我重新安装了 webpack,我重新安装了@angular/cli、@ngtools/webpack,使用--force 清除了缓存,运行 npm install。我还重新安装了全局@angular/cli。

在某些时候,我最终在本地节点模块或 %appdata%/npm 中得到了一个或没有 @ngtools/webpack 版本。错误是一样的。

在此处输入图像描述

我认为它与@ngtools/webpack 无关我该如何调查?

4

1 回答 1

0

我不会将我的答案标记为已接受。但这是我的调查结果:

该错误是由未定义的 angular_compiler_plugin_1 引起的。Loader.js中的 AngularCompilerPlugin,我发现它使用了一个简单的 JSON.Stringify(...)。这可能是由于最近删除了装饰器造成的。我没有降级模块,而是继续使用我所拥有的一切。

我在 Loader.js:32 中注释了失败的条件,以便找到真正的原因:

/* if (!(plugin instanceof angular_compiler_plugin_1.AngularCompilerPlugin) || !plugin.done) { .... */

第二个错误是

Node Sass 找不到当前环境的绑定:Windows 64-bit with Node.js 10.x

所以,我卸载了 node-sass模块,因为我真的不需要它

该项目现在可以正常工作(使用此临时解决方法),直到我找到合适的解决方案。

于 2018-09-20T07:47:29.033 回答