Angular 9通用服务器端渲染(SSR)ReferenceError:未定义文档

时间:2020-07-20 10:20:57

标签: angular typescript express nodes server-side-rendering

ERROR Error: Uncaught (in promise): ReferenceError: document is not defined
ReferenceError: document is not defined
    at Object.<anonymous> (/home/app/dist/server/main.js:1:6339691)
    at __webpack_require__ (/home/app/dist/server/main.js:1:6143792)
    at Object.<anonymous> (/home/app/dist/server/main.js:1:6167449)
    at __webpack_require__ (/home/app/dist/server/main.js:1:6143792)
    at Object.<anonymous> (/home/app/dist/server/main.js:1:6289411)
    at __webpack_require__ (/home/app/dist/server/main.js:1:6143792)
    at Object.<anonymous> (/home/app/dist/server/main.js:1:6396194)

我在Angular 9中遇到此SSR错误。Express渲染(res.render)并未按照下面的代码在前面注入响应和请求:

server.get('*', (req, res) => {
    res.render(
        indexHtml,
        { 
           req,
           res, 
           providers: [
                { provide: APP_BASE_HREF, useValue: req.baseUrl },
                { provide: RESPONSE, useValue: res }
            ]
        }
    );
});

这是从正面访问它的代码

constructor(
            @Optional() @Inject(RESPONSE) private response: any,
            ...
           ) {...}

登录控制台后,响应值为null

我进行了一些研究,怀疑错误是由css-loader引起的(尝试执行document.style时)。但是我不知道如何解决这个问题。

任何见识将不胜感激。

谢谢。

0 个答案:

没有答案