[英]Module not found: Error: Can't resolve './app.module.ngfactory' - ionic 3, angular 5
After I installed ngx-translate module into the ionic app and implemented translations all over the custom pages I can't build my app anymore. 将ngx-translate模块安装到ionic应用程序中并在自定义页面上实现翻译后,我再也无法构建我的应用程序了。
When I run 当我跑步
$ ionic cordova build browser --prod
I get the following exception: 我得到以下异常:
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)
I tried every possible solution I could find on google and nothing worked. 我尝试了所有可能在Google上找到的解决方案,但没有任何效果。
Finally I tried with the most simple yet effective debugging strategy: removing all of the custom ionic pages from the app, adding them back one by one and continuously building the app. 最后,我尝试了一种最简单但有效的调试策略:从应用程序中删除所有自定义离子页面,将它们逐个添加回去,并不断构建应用程序。 I found out I didn't use ngx-translate pipe correctly in one of the templates... 我发现我在其中一个模板中没有正确使用ngx-translate管道...
Just Try adding the following AngularCompiler Options object containing 只需尝试添加以下包含以下内容的AngularCompiler Options对象
'entryModule' property which is the path to the main module 'entryModule'属性,它是主模块的路径
'genDir' property which is the file where the generated ngfactory files for your components and modules will go “ genDir”属性,该文件是为您的组件和模块生成的ngfactory文件所在的文件
in the tsconfig.json file if this is not specified it in the AOT plugin Ex : 如果未在AOT插件Ex中指定,则在tsconfig.json文件中:
{
"angularCompilerOptions": {
"entryModule": "./app/app.module#AppModule",
"genDir": "../ngfactory"
},
"compilerOptions": {
}
}
the above configuration solved the issue for me 上面的配置为我解决了这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.