Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request
Versions.
Angular CLI: 1.6.0-beta.0
Node: 8.9.0
OS: win32 x64
Angular: 5.0.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router, service-worker
@angular/cli: 1.6.0-beta.0
@angular-devkit/build-optimizer: 0.0.33
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.0-beta.0
@schematics/angular: 0.1.3
typescript: 2.4.2
webpack: 3.8.1
Repro steps.
ng new project --service-worker
cd project
ng build --prod --base-href=/project/
then
Publish the dist folder to a web server with a base url /project/
Ex: http://localhost/project/
The log given by the failure.
Failed to fetch ngsw-worker.js at chrome devtools
Desired functionality.
Fetch ngsw-worker.js at chrome devtools and service-worker works!
Mention any other details that might be useful.
At line 16 of app.module.ts generated by cli:
environment.production ? ServiceWorkerModule.register('/ngsw-worker.js') : []
the register is starting with / which make the fetch start from http://localhost/
If is changed to ./ it will works, but i don't test if the first request to a sub-component can confuse this solution, because the first access would be http://localhost/project/somecomponent/, and the register can try to get from http://localhost/project/somecomponent/ngsw-worker.js
My guess is that ServiceWorkerModule.register could include the base-path by default, then it could solve this problem definitely.
Bug Report or Feature Request (mark with an
x)Versions.
Repro steps.
then
Publish the dist folder to a web server with a base url /project/
Ex: http://localhost/project/
The log given by the failure.
Failed to fetch
ngsw-worker.jsat chrome devtoolsDesired functionality.
Fetch
ngsw-worker.jsat chrome devtools and service-worker works!Mention any other details that might be useful.
At line 16 of
app.module.tsgenerated by cli:the register is starting with
/which make the fetch start from http://localhost/If is changed to
./it will works, but i don't test if the first request to a sub-component can confuse this solution, because the first access would be http://localhost/project/somecomponent/, and the register can try to get from http://localhost/project/somecomponent/ngsw-worker.jsMy guess is that
ServiceWorkerModule.registercould include the base-path by default, then it could solve this problem definitely.