问题
ng serve
Module build Failed: Error: AotPlugin was detected but it was an instance of the wrong class.
完整错误报告日志
- ERROR in ./src/main.ts
- Module build Failed: Error: AotPlugin 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
- (D:\testingapp\node_modules\@ngtools\webpack\src\loader.js:358:19)
- @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
npm ls @ngtools/webpack
- testingapp@0.0.0 D:\testingapp
- +-- @angular/cli@1.2.6
- | `-- @ngtools/webpack@1.5.5
- `-- angular-cli@1.0.0-beta.28.3
- `-- @ngtools/webpack@1.5.1
npm cache verify
仍然存在问题.
>任何建议都是最受欢迎的.
运行ng弹出并尝试运行我的业力测试后,这个问题出现了.
即使我不认为这是一个最佳解决方案,我通过以下方式解决了这个问题:
>删除@ ngtools / webpack
$npm remove –save @ ngtools / webpack
>在我的webpack.config.js中要求@ ngtools / webpack是@ angular / cli的子依赖项
- // webpack.config.js
- //
- // Other require statements
- const { AotPlugin } =
- require('./node_modules/@angular/cli/node_modules/@ngtools/webpack');
/ *
*更改装载机
/ *
- module.exports = {
- // ...
- "module": {
- "rules": {
- // ...
- {
- "test": /\.ts$/,/* REMOVE: "loader": "@ngtools/webpack",*/
- "loader":
- "./node_modules/@angular/cli/node_modules/@ngtools/webpack"
- }
- }
- // ...
- }
- }