Repository navigation
Closed
Description
OS?
Mac OS Sierra
Versions.
@angular/cli: 1.0.0-rc.1
node: 7.4.0
os: darwin x64
@angular/common: 4.0.0-rc.2
@angular/compiler: 4.0.0-rc.2
@angular/core: 4.0.0-rc.2
@angular/forms: 4.0.0-rc.2
@angular/http: 4.0.0-rc.2
@angular/platform-browser: 4.0.0-rc.2
@angular/platform-browser-dynamic: 4.0.0-rc.2
@angular/router: 4.0.0-rc.2
Repro steps.
At first, I use ng build --prod --watch=true with correct path for lazy module, but I can't see any lazy route chunks
const appRoutes: Routes = [
{
path: 'admin', component: LayoutComponent, canActivate: [AuthGuardService],
children: [
{path: 'bike', loadChildren: 'app/bike/bike.module#BikeModule',},
]},
];
Hash: f9d9290bb80836ad5ad2
Time: 24703ms
chunk {0} polyfills.062e66d5506f88fa9a04.bundle.js (polyfills) 200 kB {4} [initial] [rendered]
chunk {1} main.1b88c492928b4fd2fc9d.bundle.js (main) 120 kB {3} [initial] [rendered]
chunk {2} styles.9f6e9dbf53f7c0872d3c.bundle.css (styles) 175 bytes {4} [initial] [rendered]
chunk {3} vendor.ef6a6d2029727798afd2.bundle.js (vendor) 2.02 MB [initial] [rendered]
chunk {4} inline.0605372a06e6490f08a6.bundle.js (inline) 0 bytes [entry] [rendered]
then I use an error path like this: ./app/bike/bike.module#BikeModule
finally I change back: app/bike/bike.module#BikeModule
I see the lazy route chunk output:
Hash: c192e290b753f07c3589
Time: 11943ms
chunk {0} polyfills.062e66d5506f88fa9a04.bundle.js (polyfills) 200 kB {4} [initial]
chunk {1} main.15453f3e2945e4eade17.bundle.js (main) 120 kB {3} [initial] [rendered]
chunk {2} styles.9f6e9dbf53f7c0872d3c.bundle.css (styles) 175 bytes {4} [initial]
chunk {3} vendor.be4ca73bd2f535511b0a.bundle.js (vendor) 2.02 MB [initial] [rendered]
chunk {4} inline.206e421169df75a8322e.bundle.js (inline) 0 bytes [entry] [rendered]
chunk {5} 5.00405610a134f55380e0.chunk.js 11.4 kB {1} [rendered]
Reacted by Joost van Doremalen, Exequiel Ceasar Navarrete, Exequiel Ceasar Navarrete, Phillip Curl, Michael Onubogu, Aleksei Lebedev, Michael Sanford, Vitalii, Juan Carlos Arocha, Orest Prystayko and 1 more
Metadata
Metadata
Assignees
Labels
No labels
Activity
exequiel09 commentedon Mar 4, 2017
This also happens to me even on
ng serve. when i add the--aotflag it generates the chunks.OS
macOS Sierra 10.12.3
Versions.
@angular/cli: 1.0.0-rc.1
node: 6.10.0
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
filipesilva commentedon Mar 8, 2017
I tried an app with some lazy loaded routes and could see the lazy chunks being correctly generated on
ng serveandng build --watch. Can you upload a repo where you see this behaviour?Adol1111 commentedon Mar 8, 2017
I add a repo: https://github.com/Adol1111/ng-lazy-load-demo.git
Starting with
ng serve, there are no lazy routes chunks being generated. If I do any changes for app-routing.module.ts ( like a space, a line break, or other changes) , lazy routes chunks will be generated.filipesilva commentedon Mar 8, 2017
Thank you for making this repro.
I cloned it, ran
npm install, ranng serveand could see no lazy routes being generated. Then I added a newline insrc/app/app-routing.module.tsand saved, and actually saw this error:I tried using linking master copy of the CLI, and on rebuild I didn't see an error and instead I saw a single extra lazy chunk called
5.chunk.js. Which is also pretty weird... it should be0.chunk.jsinstead.There's something odd here, will investigate further.
filipesilva commentedon Mar 8, 2017
I'm still not sure where stuff is breaking exactly, but it seems to be related to having the routes in
AppRoutingModule.Having them in
app.module.tsinstead works to work fine:filipesilva commentedon Mar 8, 2017
Actually, the core of it seems to actually be the
forRootmethod. Changing the import fromAppRoutingModule.forRoot(),to justAppRoutingModulemakes it work.@hansl I remember there was some conversation about
forRoot, is this behaviour intended?Adol1111 commentedon Mar 8, 2017
Thx, that is ok now.
I just provide a AuthGuard for AppRoutingModule. I will move it to coreModule
exequiel09 commentedon Mar 8, 2017
@filipesilva putting the routes on my current project to
app.module.ts(followed what you did above) does not generate the chunks. Doingng serve --aotorng build --prod --aotor with--aotgenerates the lazy load chunks. I can't reproduce it to a project freshly created. Will link it here if i am able to make some reproduction.Also tried nuking
node_modulesby installing/uninstalling@angular/cli. No good.ManuelRauber commentedon Mar 20, 2017
I've the same issues. But I recognised, that after running
ng servethe chunks are not built. But when I change a file and the watcher gets triggered, then the chunks are built.It doesn't matter how the file (
app-routing.module.ts) is called or what's the name of the module itself or if the routes are not within an own module.(Angular 4.0.0-rc.5, Angular CLI 4.0.0-rc.2)
reblace commentedon Mar 30, 2017
Seeing the same issue after upgrading to ng4. I import my app routing module without forRoot(). I will try to put together a small example.
13 remaining items
uvconnects commentedon Nov 3, 2017
using angularcli @JohnGalt1717 not to sure on that. have example maybe.
JohnGalt1717 commentedon Nov 3, 2017
I use Webpack but the same principle will apply. IF you have a vendor.js being generated make sure that when choosing production you don't have any angular libraries in vendor.js otherwise this will happen.
uvconnects commentedon Nov 3, 2017
ok @JohnGalt1717 so weird I built again and then everything fell in place. Not sure. but it works now and made individual chucks.
TerrySlack commentedon Nov 6, 2017
I still have this issue. Upgraded the cli to 1.5. I have one lazy loaded route right now. The chunk file is created, however the I get an error because it's not adding the output directory to the path for the script tag. Anyone else having this?
pateldol commentedon Nov 14, 2017
I have also upgraded the cli to 1.5 and still facing same issue. If without changing anything, I just save child module (it will re-compile app) than that child routes will work fine. Does anybody have any solution?
Adol1111 commentedon Nov 15, 2017
@pateldol Can you upload a repo? In my case, it's a bug about compiler-cli which version under 4.1.3, not cli.
uvconnects commentedon Nov 15, 2017
for some reason it just started working. after I compliled 8 times. weird.
uvconnects commentedon Nov 20, 2017
zijianhuang commentedon Jan 31, 2018
I have the same problem as described by gmetrix commented on 28 Sep 2017.
with CLI 1.6.6 and NG 5.2.2.
Strange enough, the example code from the tutorial at https://angular.io/guide/lazy-loading-ngmodules is working fine. Ng build generates module chunk js properly. though my app structure is pretty similar to the example in the tutorial.
mistrykaran91 commentedon Jul 23, 2018
Can I load specific lazy loaded chunk in prod build ?
LiMeii commentedon Oct 8, 2018
I met the same issue, in angular5.0 + webpack3.10.0 no chunk files for lazy loading. here is my root cause, hope can help someone:
in my app-routing.module.ts:
and at the same time I import DashboardModule SettingsModule SettingsModule in my app.module.ts
that's the reason why no chunk file for lazy loading module, I guess if there has loadchildren for business modlue and import it in app.module.ts, then angular just ignore the lazy loading settings.
remove imported module in app.module.ts , it's working fine.
angular-automatic-lock-bot commentedon Sep 8, 2019
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.