“window is not defined” in Nuxt.js

2,586 阅读1分钟

背景

在写 Nuxt的时候,引用了组件库,出现了这个报错 window is not defined,其实,这个之前解决过,不过好长时间没遇到忘记了,哈哈哈哈哈,现在重新记录一下

解决方案

使用 Nuxt.js 里面的 plugins 来解决

假如,组件库叫vue-xxx

// nuxt.config.js 写配置
module.exports = {
    plugins: [
        '~/plugins/vue-xxx.client.js'
    ]
}



// vue-xxx.client.js
import Vue from 'vue';
import xxx from 'vue-xxx';
import 'xxx/lib/style.css';

if (process.browser) {
    Vue.use(xxx);
}
<!-- abc.vue 我们可以愉快的使用组件了 -->
<template>
    <div>
        <xxx-btn></xxx-btn>
    </div>
</template>