Nuxt无法引入Weui.js、Element-UI等框架解决办法

Play this article

异常示例(weui.js)

import weui from 'weui.js';

错误如下

ReferenceError: window is not defined
at Object. (/node_modules/weui.js/dist/weui.min.js:6:6105)
at t (/node_modules/weui.js/dist/weui.min.js:6:318)

Element-UI 也是类似的,也是出现window is not defined问题。

原因:该库不支持SSR,需要做兼容。

解决办法

方法一:关闭ssr,nuxt.conf.ts 修改如下

export default defineNuxtConfig({
  // 关闭SSR
  ssr: false,
})

这个是最简单粗暴的方式,如果是不要用到SSR,那么根本没所谓。

方法二:为库实现兼容SSR, 这个比较麻烦,但通常热门的都会有人做了,例如 Element-UI 有实现了 ![nuxt/element-plus](https://nuxt.com/modules/element-plus)\

参考链接

1、https://github.com/nuxt/nuxt/issues/89

2、https://github.com/nuxt/nuxt/issues/21