nutui icon indicating copy to clipboard operation
nutui copied to clipboard

Nut UI无法和Vite SSR 结合使用,不能支持SSR

Open hyphappy011 opened this issue 4 years ago • 5 comments

我参考 Vite官方提供的SSR Vue项目(https://github.com/vitejs/vite/tree/main/packages/playground/ssr-vue),只需要在这个项目use Nut UI就会报错。

然后引入Nut UI,yarn run build可以通过,但是访问服务则报错:

ReferenceError: Element is not defined at /Volumes/Work/Development/onein-taro-build/node_modules/@nutui/nutui/dist/nutui.umd.js:6:13928 at /Volumes/Work/Development/onein-taro-build/node_modules/@nutui/nutui/dist/nutui.umd.js:6:72 at Object. (/Volumes/Work/Development/onein-taro-build/node_modules/@nutui/nutui/dist/nutui.umd.js:6:283) at Module._compile (node:internal/modules/cjs/loader:1092:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10) at Module.load (node:internal/modules/cjs/loader:972:32) at Function.Module._load (node:internal/modules/cjs/loader:813:14) at Module.require (node:internal/modules/cjs/loader:996:19) at require (node:internal/modules/cjs/helpers:92:18) at Module. (/Volumes/Work/Development/onein-taro-build/dist/server/entry-server.js:26:13)

最小可复现仓库

import { createSSRApp } from 'vue' import { createRouter } from './router' import App from './Home.vue' import './app.scss'; import NutUI from '@nutui/nutui'; export function createApp() { const app = createSSRApp(App) const router = createRouter() app.use(NutUI).use(router) return { app, router } }

预期的行为和实际行为

复现步骤,具体代码

相关环境信息

  • 操作系统:MAC
  • Node 版本:15.4
  • NutUI 版本: @nutui/[email protected]
  • Vue 版本:3.2
  • 引用方式: yarn

hyphappy011 avatar Aug 29 '21 14:08 hyphappy011

感谢反馈,我们跟进一下

richard1015 avatar Aug 30 '21 03:08 richard1015

我这边测试了一些,vite 官网ssr-vue 最新示例无法运行, 关于ssr 我们这边稍后跟进一下,

SSR 支持当前还处于试验阶段,谨慎使用

richard1015 avatar Aug 30 '21 06:08 richard1015

我这边测试了一些,vite 官网ssr-vue 最新示例无法运行, 关于ssr 我们这边稍后跟进一下,

SSR 支持当前还处于试验阶段,谨慎使用

好的,多谢!

hyphappy011 avatar Aug 30 '21 14:08 hyphappy011

我这边测试了一些,vite 官网ssr-vue 最新示例无法运行, 关于ssr 我们这边稍后跟进一下,

SSR 支持当前还处于试验阶段,谨慎使用

我们相同方法测试了一下Element Plus,除了个别使用Teleport的组件以外,应该都可以用。

我这边测试了一些,vite 官网ssr-vue 最新示例无法运行, 关于ssr 我们这边稍后跟进一下,

SSR 支持当前还处于试验阶段,谨慎使用

好像Element Plus可以,需要找一下写法上的异同之处。可能跟teleport组件有关系。

hyphappy011 avatar Aug 30 '21 14:08 hyphappy011

+1

ZaneL1u avatar Jul 14 '22 09:07 ZaneL1u