Vant: [Bug Report]SSR is not support?

Created on 27 Mar 2018  ·  10Comments  ·  Source: youzan/vant

1
2
3
4

vant 整体感觉很棒,打算在之后的项目中使用,并且因为 mintUI 部分组件不支持 SSR 所以打算使用 vant。
vant 说是支持 SSR,但是部分组件还是没有支持的,希望能够在之后对 SSR 有更好的支持,这样使用的人会更多吧。

感谢开源!

🐞 bug

Most helpful comment

因为Vant的css文件设计上并不是与组件一一对应, 所以直接使用 babel-plugin-component 会引入不存在的css而报错.(猜想babel-plugin-import)有同样的问题. 所以修改babel-plugin-component后提交了babel-plugin-vant-component, 可以通过配置排除部分组件引入功能, 这样也就不用每个组件单独引入了.注意文档最后的配置:
https://github.com/PepperYan/babel-plugin-component

babel-plugin-component的PR

-------------------------原文------------------------------
今天解决了这个问题, 分享一下, 本人使用nuxt ssr (未测试普通ssr) 按照官方文档使用babel-plugin-import的时候出现该issue的错误 https://github.com/youzan/vant/issues/765

然后改用 babel-plugin-component 如下配置以后,亲测可用 (nuxt-edge 2.0)
这里只贴babel部分配置
88a7aa12-40f9-4598-bc23-44f6eb1c4b92

值得注意的是, vant中有部分组件(应该是逻辑组件)不带css文件, 直接引用会报错, 需要小改一下.

ac767d04-9f18-4983-bc62-027d4c9026f5

All 10 comments

SSR 是支持的,但是现在 babel-plugin-import 和 nuxt 有冲突,所以使用 nuxt 的话建议手动按需引入组件

@chenjiahan 我并没有使用 nuxt,我使用的是原生 SSR 方案

@chenjiahan 您好,nuxt手动按需引入组件,那么css怎么引入,我只想全局引入但貌似没生效?不可能每个页面引一次index.css吧😂
1526548807698

@chenjiahan 预计多久能支持ssr

@meowforwhat 样式按正常方式引入就行
@guojingwen vant 是支持 SSR 的,目前的问题是 babel-plugin-import 这个插件不支持

@chenjiahan
image
这种是否OK?

现在使用 babel-plugin-import, ssr 还存在问题...

因为Vant的css文件设计上并不是与组件一一对应, 所以直接使用 babel-plugin-component 会引入不存在的css而报错.(猜想babel-plugin-import)有同样的问题. 所以修改babel-plugin-component后提交了babel-plugin-vant-component, 可以通过配置排除部分组件引入功能, 这样也就不用每个组件单独引入了.注意文档最后的配置:
https://github.com/PepperYan/babel-plugin-component

babel-plugin-component的PR

-------------------------原文------------------------------
今天解决了这个问题, 分享一下, 本人使用nuxt ssr (未测试普通ssr) 按照官方文档使用babel-plugin-import的时候出现该issue的错误 https://github.com/youzan/vant/issues/765

然后改用 babel-plugin-component 如下配置以后,亲测可用 (nuxt-edge 2.0)
这里只贴babel部分配置
88a7aa12-40f9-4598-bc23-44f6eb1c4b92

值得注意的是, vant中有部分组件(应该是逻辑组件)不带css文件, 直接引用会报错, 需要小改一下.

ac767d04-9f18-4983-bc62-027d4c9026f5

您好,我这边在ssr的项目中引入vant的tab组件时发现页面加载初期审查的元素还是...这样的形式,请问怎样才能在静态化时就将组件的代码打进html中?谢谢

Was this page helpful?
0 / 5 - 0 ratings