angular: Angular 4 + Universal: Window is not defined
Everything works fine using ng serve and it compiles fine with ngc but I get the following exception at runtime.
ReferenceError: window is not defined
at Ng2LocationServices.BaseLocationServices (/Users/Michael/Documents/my-app/node_modules/@uirouter/core/lib/vanilla/baseLocationService.js:20:26)
at new Ng2LocationServices (/Users/Michael/Documents/my-app/dist/out-tsc/src/server.js:3923:28)
at uiRouterFactory (/Users/Michael/Documents/my-app/dist/out-tsc/src/server.js:2656:30)
at _callFactory (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:9650:34)
at _createProviderInstance$1 (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:9579:26)
at initNgModule (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:9530:13)
at new NgModuleRef_ (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:10638:9)
at Object.createNgModuleRef (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:10622:12)
at NgModuleFactory_.create (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:13901:25)
at /Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:4588:61
at ZoneDelegate.invoke (/Users/Michael/Documents/my-app/node_modules/zone.js/dist/zone-node.js:365:26)
at Object.onInvoke (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:3965:37)
at ZoneDelegate.invoke (/Users/Michael/Documents/my-app/node_modules/zone.js/dist/zone-node.js:364:32)
at Zone.run (/Users/Michael/Documents/my-app/node_modules/zone.js/dist/zone-node.js:125:43)
at NgZone.run (/Users/Michael/Documents/my-app/node_modules/@angular/core/bundles/core.umd.js:3833:62)
this is my app.server.module.ts
import { NgModule } from '@angular/core';
import { ServerModule } from '@angular/platform-server';
import { BrowserModule } from '@angular/platform-browser';
import { AppModule } from './app.module';
import { AppComponent } from './app.component';
import { LocationStrategy } from '@angular/common';
import { UIRouter, MemoryLocationConfig, MemoryLocationService } from '@uirouter/angular';
@NgModule({
imports: [
BrowserModule.withServerTransition({ appId: 'my-app' }),
ServerModule,
AppModule
],
bootstrap: [AppComponent]
})
export class AppServerModule {
constructor(router: UIRouter, locationStrategy: LocationStrategy) {
router.locationConfig = new MemoryLocationConfig();
router.locationService = new MemoryLocationService(router);
router.locationService['_url'] = locationStrategy.path(true);
}
}
Did what #43 said to do but no luck.
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 28 (13 by maintainers)
Right now I’m using
DefinePlugin:can you update package hash and try again