Angular 未找到模块:错误:Can';t解析'/app.module.ngfactory';-离子3,角5

Angular 未找到模块:错误:Can';t解析'/app.module.ngfactory';-离子3,角5,angular,ionic-framework,ionic3,angular5,Angular,Ionic Framework,Ionic3,Angular5,在我将ngx翻译模块安装到ionic应用程序中并在所有自定义页面上实现翻译后,我无法再构建我的应用程序 当我跑的时候 $ ionic cordova build browser --prod 我得到以下例外情况: Running app-scripts build: --prod --platform browser --target cordova [15:30:02] build prod started ... [15:30:02] clean started ... [15:3

在我将ngx翻译模块安装到ionic应用程序中并在所有自定义页面上实现翻译后,我无法再构建我的应用程序

当我跑的时候

$ ionic cordova build browser --prod
我得到以下例外情况:

Running app-scripts build: --prod --platform browser --target cordova
[15:30:02]  build prod started ... 
[15:30:02]  clean started ... 
[15:30:02]  clean finished in 3 ms 
[15:30:02]  copy started ... 
[15:30:03]  deeplinks started ... 
[15:30:03]  deeplinks finished in 207 ms 
[15:30:03]  ngc started ... 
[15:30:09]  ngc finished in 6.48 s 
[15:30:09]  preprocess started ... 
[15:30:09]  preprocess finished in 1 ms 
[15:30:09]  webpack started ... 
[15:30:09]  copy finished in 6.93 s 
Error: ./src/app/main.ts
Module not found: Error: Can't resolve './app.module.ngfactory' in '/projects/myApp/src/app'
resolve './app.module.ngfactory' in '/projects/myApp/src/app'
  using description file: /projects/myApp/package.json (relative path: ./src/app)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: /projects/myApp/package.json (relative path: ./src/app)
    using description file: /projects/myApp/package.json (relative path: ./src/app/app.module.ngfactory)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        /projects/myApp/src/app/app.module.ngfactory doesn't exist
      .ts
        Field 'browser' doesn't contain a valid alias configuration
        /projects/myApp/src/app/app.module.ngfactory.ts doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        /projects/myApp/src/app/app.module.ngfactory.js doesn't exist
      .json
        Field 'browser' doesn't contain a valid alias configuration
        /projects/myApp/src/app/app.module.ngfactory.json doesn't exist
      as directory
        /projects/myApp/src/app/app.module.ngfactory doesn't exist
[/projects/myApp/src/app/app.module.ngfactory]
[/projects/myApp/src/app/app.module.ngfactory.ts]
[/projects/myApp/src/app/app.module.ngfactory.js]
[/projects/myApp/src/app/app.module.ngfactory.json]
[/projects/myApp/src/app/app.module.ngfactory]
 @ ./src/app/main.ts 2:0-60
    at new BuildError (/projects/myApp/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
    at callback (/projects/myApp/node_modules/@ionic/app-scripts/dist/webpack.js:121:28)
    at emitRecords.err (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/Compiler.js:269:13)
    at Compiler.emitRecords (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/Compiler.js:375:38)
    at emitAssets.err (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/Compiler.js:262:10)
    at applyPluginsAsyncSeries1.err (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/Compiler.js:368:12)
    at next (/projects/myApp/node_modules/tapable/lib/Tapable.js:218:11)
    at Compiler.compiler.plugin (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/performance/SizeLimitsPlugin.js:99:4)
    at Compiler.applyPluginsAsyncSeries1 (/projects/myApp/node_modules/tapable/lib/Tapable.js:222:13)
    at Compiler.afterEmit (/projects/myApp/node_modules/@ionic/app-scripts/node_modules/webpack/lib/Compiler.js:365:9)

我尝试了在谷歌上找到的所有可能的解决方案,但没有任何效果

最后,我尝试了一种最简单但最有效的调试策略:从应用程序中删除所有定制的ionic页面,一个接一个地添加它们,然后继续构建应用程序。我发现我没有在其中一个模板中正确使用ngx translate pipe…

最后,我尝试了最简单但有效的调试策略:从应用程序中删除所有定制的ionic页面,逐个添加,然后继续构建应用程序。我发现我在其中一个模板中没有正确使用ngx translate管道…

请尝试添加以下AngularCompiler选项对象,其中包含

  • “entryModule”属性,该属性是主模块的路径

  • “genDir”属性,它是为组件和模块生成的ngfactory文件所在的文件

如果未在AOT插件中指定,则在tsconfig.json文件中 例:


上述配置解决了我的问题

只需尝试添加以下AngularCompiler Options对象,其中包含

  • “entryModule”属性,该属性是主模块的路径

  • “genDir”属性,它是为组件和模块生成的ngfactory文件所在的文件

如果未在AOT插件中指定,则在tsconfig.json文件中 例:

上面的配置为我解决了这个问题

{
  "angularCompilerOptions": {
    "entryModule": "./app/app.module#AppModule",
    "genDir": "../ngfactory"
  },
  "compilerOptions": {
  }
}