首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将dat.gui库导入Sapper/Svelte项目?

如何将dat.gui库导入Sapper/Svelte项目?
EN

Stack Overflow用户
提问于 2020-01-15 22:30:18
回答 1查看 420关注 0票数 1

我有一个标准的Sapper项目:

代码语言:javascript
复制
routes
├── application
   ├──- index.svelte
   ├──- _brush.js
   ├──- (...etc)

我希望将库' dat.gui‘安装到我的项目中,并且我已经安装了:$ npm install --成功保存dat.gui。

代码语言:javascript
复制
<script>
    import { onMount } from 'svelte';   
    import { Brush } from './_brush.js';
    import * as dat from 'dat.gui';

    // dat.GUI
    let brushParams = { ... my chosen params}

    onMount(()=> {
        // loading dat.GUI
        let gui = new dat.GUI();
        console.log(gui);
    }

Sapper应用程序总是崩溃,并显示以下消息: ReferenceError: window is not defined at Object...etc。

哪种方法应该是将这样的库导入到sapperjs中的正确方式?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-01-16 02:59:10

如果你在Node中使用require,听起来像是dat.gui崩溃了。我认为这是一个错误,并鼓励您提出一个问题-只是因为它需要一个DOM才能做任何事情,并不意味着如果在没有DOM的环境中导入模块,它就应该崩溃。

不过,我们可以解决这个问题。您可以在onMount (不在服务器上运行)中动态导入,而不是使用静态导入:

代码语言:javascript
复制
<script>
    import { onMount } from 'svelte';   
    import { Brush } from './_brush.js';

    // dat.GUI
    let brushParams = { ... my chosen params}

    onMount(()=> {
        import('dat.gui').then(dat => {
            // loading dat.GUI
            let gui = new dat.GUI();
            console.log(gui);
        });
    }
</script>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59753482

复制
相关文章

相似问题

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