Skip to content

如何让自己写的组件支持 SSR? #3660

Closed
@falstack

Description

@falstack

What problem does this feature solve?

我使用 vue-cli 3 写了一个组件:vue-flow-render
如果我把 src 下面的两个组件 copy 到一个 SSR 的项目中,它可以 work
但我把这个包发布到 npm 上再引入后,就会报错:document is not defined
我不知道我该去修改什么地方,可以告诉我吗?

What does the proposed API look like?

需要如何修改 vue.config.js 就能够支持 build 后的包能在 SSR 的时候运行

Activity

troy351

troy351 commented on Mar 19, 2019

@troy351
Contributor

SSR运行在node环境,node环境不存在全局变量document,需要使用jsdom

falstack

falstack commented on Mar 19, 2019

@falstack
Author

我的组件里需要用到 document 和 window 的都做了环境判断,并且直接 import 组件源码是 SSR work 的,但是发布到 npm 之后,通过包来 import 就无法 work 了

haoqunjiang

haoqunjiang commented on Mar 20, 2019

@haoqunjiang
Member

因为 css: { extract: false }

falstack

falstack commented on Mar 22, 2019

@falstack
Author

@sodatea 是的,已经解决了,谢谢

falstack

falstack commented on Mar 29, 2019

@falstack
Author

@sodatea 如果这里有 css 样式,但是又不想在 import component 的时候额外 import style 该怎么做呢?

9 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haoqunjiang@troy351@falstack

        Issue actions

          如何让自己写的组件支持 SSR? · Issue #3660 · vuejs/vue-cli