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

问题描述 投票:0回答:2

将ngx-translate模块安装到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)

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

angular ionic-framework ionic3 angular5
2个回答
2
投票

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


0
投票

只需尝试添加以下包含以下内容的AngularCompiler Options对象

  • 'entryModule'属性,它是主模块的路径

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.