首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务器端未定义JavascriptServices窗口

服务器端未定义JavascriptServices窗口
EN

Stack Overflow用户
提问于 2018-02-27 05:05:21
回答 1查看 255关注 0票数 0

我在angular2+中使用angular2+模板,并试图找到将库导入到试图访问window组件中的解决方案。Javascript服务使用服务器端预呈现,因此不能将库导入到组件中,这些组件在没有获得窗口的情况下立即尝试访问窗口是没有定义错误的。

目前,我正在尝试将dat.gui添加到我的组件中,但我还没有找到解决方案。https://www.npmjs.com/package/dat.gui

有人知道如何在客户端上加载库,并将其传递给组件以避免在将窗口导入组件时未定义错误?

这将始终抛出错误时,添加到我的组件,因为服务器端预呈现。

代码语言:javascript
复制
const dat = require('dat.gui');
const gui = new dat.GUI();

或从‘dat.gui’导入*作为dat;

EN

回答 1

Stack Overflow用户

发布于 2018-02-28 04:36:59

这就是我用来确保浏览器使用窗口、文档、导航器、jQuery操作的方式。

代码语言:javascript
复制
  import {PLATFORM_ID} from '@angular/core'
  import {isPlatformBrowser } from '@angular/common'
    ....


    constructor(@Inject(PLATFORM_ID) private platformId: Object){}

    private isBrowser: boolean = isPlatformBrowser(this.platformId);

    ngAfterViewInit(){
      if (this.isBrowser) {
       const dat = require('dat.gui');
       const gui = new dat.GUI();
      }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49001489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档