typescript - Efter uppgradering från Angular 5 till Angular 6: Det aktuella dokumentet har ingen doctype
Jag uppgraderade precis mitt Angular 5-projekt till Angular 6. Efter uppgraderingen kompileras det utan problem, men webbplatsen visas tom. I konsolen får jag:
Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.
push../node_modules/@angular/material/esm5/core.es5.js.MatCommonModule._checkDoctypeIsDefined @ core.es5.js:127
MatCommonModule @ core.es5.js:92
_createClass @ core.js:8116
createProviderInstance$1 @ core.js:8088 initNgModule @ core.js:8024 NgModuleRef @ core.js:8747 createNgModuleRef @ core.js:8736
debugCreateNgModuleRef @ core.js:10561
push../node_modules/@angular/core/fesm5/core.js.NgModuleFactory_.create @ core.js:11263
(anonymous) @ core.js:4161
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:388
onInvoke @ core.js:3671
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:387
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:138
push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:3585
push../node_modules/@angular/core/fesm5/core.js.PlatformRef.bootstrapModuleFactory @ core.js:4159
(anonymous) @ core.js:4200
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:388
push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:138
(anonymous) @ zone.js:872
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask @ zone.js:421
push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:188
drainMicroTaskQueue @ zone.js:595 Promise.then (async)
scheduleMicroTask @ zone.js:578
push../node_modules/zone.js/dist/zone.js.ZoneDelegate.scheduleTask @ zone.js:410
push../node_modules/zone.js/dist/zone.js.Zone.scheduleTask @ zone.js:232
push../node_modules/zone.js/dist/zone.js.Zone.scheduleMicroTask @ zone.js:252
scheduleResolveOrReject @ zone.js:862
ZoneAwarePromise.then @ zone.js:962
push../node_modules/@angular/core/fesm5/core.js.PlatformRef.bootstrapModule @ core.js:4200
./src/main.ts @ main.ts:12
webpack_require @ bootstrap:76 0 @ main.ts:13
webpack_require @ bootstrap:76 checkDeferredModules @ bootstrap:43 webpackJsonpCallback @ bootstrap:30 (anonymous)
TypeError: Cannot read property 'appendChild' of null
at MatCommonModule.push../node_modules/@angular/material/esm5/core.es5.js.MatCommonModule._checkThemeIsPresent
(core.es5.js:141)
at new MatCommonModule (core.es5.js:93)
at _createClass (core.js:8116)
at createProviderInstance$1 (core.js:8088)
at initNgModule (core.js:8024)
at new NgModuleRef (core.js:8747)
at createNgModuleRef (core.js:8736)
at Object.debugCreateNgModuleRef [as createNgModuleRef] (core.js:10561)
at NgModuleFactory_.push../node_modules/@angular/core/fesm5/core.js.NgModuleFactory_.create
(core.js:11263)
at core.js:4161
Är det något fel på @angular/material, eller uppgraderades något inte korrekt i projektet?
Om det finns något jag kan tillägga för att hjälpa till att diagnostisera, låt mig veta.
Svar #1
Om du vill ta bort denna varning, lägg bara till en Doctype högst upp i din allmänna index.html-fil, så här:
<!doctype html>
<html lang="en">
<head>
...
</html>
