[英]Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in
I know that the question related to the Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in...
has been asked many times here. 我知道有关
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in...
的问题Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in...
已被多次询问。 But, I think it is quiet interesting situation here that I am trying to describe below: 但是,我认为这是一个安静有趣的情况,我想在下面描述:
I having node installed on 2 machines running Ubuntu 16.10 and Ubuntu 17.04. 我在运行Ubuntu 16.10和Ubuntu 17.04的2台机器上安装了节点。
Node is installed through these command lines: 通过以下命令行安装节点:
sudo apt-get install python-software-properties
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install nodejs
Ubuntu 17.04 is already with a new version of node. Ubuntu 17.04已经有了新版本的节点。 The installation is done through
安装完成
sudo apt-get install nodejs
node -v
# v7.10.0
npm -v
# 4.2.0
sudo npm install -g @angular/cli
ng new my-app
The both machine are using the same repo angular4-on-nginx-with-docker 这两台机器都使用相同的repo angular4-on-nginx-docker
$ ng build --prod
Hash: 64b40519b4565aa62e0b
Time: 10106ms
chunk {0} polyfills.71b130084c52939ca448.bundle.js (polyfills) 177 kB {4} [initial] [rendered]
chunk {1} main.e81f19d3f6b27a436c79.bundle.js (main) 1.09 kB {3} [initial] [rendered]
chunk {2} styles.d41d8cd98f00b204e980.bundle.css (styles) 69 bytes {4} [initial] [rendered]
chunk {3} vendor.f7457d5ac1e9743fd76f.bundle.js (vendor) 849 kB [initial] [rendered]
chunk {4} inline.18e445e37a0efd4dcfa2.bundle.js (inline) 0 bytes [entry] [rendered]
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in '/home/amine/DockerProjects/tt/nginx/frontend/src'
@ ./src/main.ts 3:0-74
@ multi ./src/main.ts
PS: ./src/main.ts
is: PS:
./src/main.ts
是:
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
$ ng build --prod
Hash: ab00cb280399614d6ea9
Time: 16640ms
chunk {0} polyfills.71b130084c52939ca448.bundle.js (polyfills) 177 kB {4} [initial] [rendered]
chunk {1} main.97abdc47ac3699c01fa5.bundle.js (main) 5.27 kB {3} [initial] [rendered]
chunk {2} styles.d41d8cd98f00b204e980.bundle.css (styles) 69 bytes {4} [initial] [rendered]
chunk {3} vendor.0a8aa978ae08e1954b1c.bundle.js (vendor) 1.89 MB [initial] [rendered]
chunk {4} inline.3da3f5efaa0601772495.bundle.js (inline) 0 bytes [entry] [rendered]
Codes in both machines are the same! 两台机器的代码都是一样的! Just a
git clone
command line is used to get the code. 只需一个
git clone
命令行来获取代码。 So, what is the difference that make compilation with AOT working on a machine and failing in another machine??? 那么,使用AOT在机器上进行编译并在另一台机器上出现故障会有什么不同?
Thanks,,, 谢谢,,,
The use of "enhanced-resolve":"3.3.0"
is a solution for an older version of "@angular/cli"
such as "1.2.3"
. 使用
"enhanced-resolve":"3.3.0"
是旧版"@angular/cli"
的解决方案,例如"1.2.3"
。
Another solution, use "@angular/cli": "1.2.6"
另一个解决方案,使用
"@angular/cli": "1.2.6"
Use ng build --env=prod
instead of ng build --prod
. 使用
ng build --env=prod
而不是ng build --prod
。 When I made a brand new project and ran ng build --prod
, I got Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory'
error. 当我创建一个全新的项目并运行
ng build --prod
,我Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory'
错误。 But when I ran ng build --env=prod
dist was generated fine. 但是,当我运行
ng build --env=prod
dist生成正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.