找不到模块:错误:无法解析'./app.module.ngfactory' - 离子3,角5

时间:2017-11-29 20:00:32

标签: angular ionic-framework ionic3 angular5

将ngx-translate模块安装到离子应用程序并在自定义页面上实现翻译后,我无法再构建我的应用程序了。

当我跑步时

$ 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)

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

2 个答案:

答案 0 :(得分:2)

最后,我尝试了最简单但最有效的调试策略:从应用程序中删除所有自定义离子页面,逐个添加它们并不断构建应用程序。我发现我没有在其中一个模板中正确使用ngx-translate管道......

答案 1 :(得分:0)

只需尝试添加以下包含

的AngularCompiler Options对象
  • ' entryModule'属性是主要模块的路径

  • ' genDir'属性,它是生成组件和模块的ngfactory文件的文件

tsconfig.json 文件中的

如果未在AOT插件中指定它 例如:

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

以上配置解决了我的问题