the*_*ors 5 webpack angular-universal angular angular6
我有一个 angular6 通用应用程序,我正在为图像滑块集成ng-simple-slideshow,它构建成功,但是在运行时: npm run serve:SSR 给出以下错误:请提出一些解决方案。谢谢
ReferenceError: window is not defined
at F:\new_trd_back_up\dist\server.js:247023:8032
at vt (F:\new_trd_back_up\dist\server.js:246852:163)
at Object.module.exports (F:\new_trd_back_up\dist\server.js:246852:177)
at __webpack_require__ (F:\new_trd_back_up\dist\server.js:20:30)
at Object.jspdf (F:\new_trd_back_up\dist\server.js:87271:18)
at __webpack_require__ (F:\new_trd_back_up\dist\server.js:59361:30)
at Object../src/app/presentation/presentation.component.ts (F:\new_trd_back_up\dist\server.js:81159:13)
at __webpack_require__ (F:\new_trd_back_up\dist\server.js:59361:30)
at Object../src/app/presentation/presentation.component.ngfactory.js (F:\new_trd_back_up\dist\server.js:81046:11)
at __webpack_require__ (F:\new_trd_back_up\dist\server.js:59361:30)
Run Code Online (Sandbox Code Playgroud)
小智 2
“窗口未定义”来自访问窗口变量的第三方库。
您应该使用浏览器检查条件包装您的代码
HTML:
<ng-container *ngIf="isBrowser">
<!-- In my case, ngx-siema & ngx-slcik -->
<ngx-siema></ngx-siema>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
TS:
import { PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
isBrowser;
constructor(@Inject(PLATFORM_ID) private platformId) {
this.isBrowser = isPlatformBrowser(platformId);
}
if (this.isBrowser) {
// put your code which is access window variable
}
Run Code Online (Sandbox Code Playgroud)
可以在这里找到一个很好的用法示例。
| 归档时间: |
|
| 查看次数: |
6326 次 |
| 最近记录: |