diff --git a/src/image/index.js b/src/image/index.js index 4f426b951..0b16ebb83 100644 --- a/src/image/index.js +++ b/src/image/index.js @@ -1,4 +1,4 @@ -import { createNamespace, isDef, addUnit } from '../utils'; +import { createNamespace, isDef, addUnit, inBrowser } from '../utils'; import Icon from '../icon'; const [createComponent, bem] = createNamespace('image'); @@ -69,7 +69,7 @@ export default createComponent({ created() { const { $Lazyload } = this; - if ($Lazyload) { + if ($Lazyload && inBrowser) { $Lazyload.$on('loaded', this.onLazyLoaded); $Lazyload.$on('error', this.onLazyLoadError); } diff --git a/src/utils/index.ts b/src/utils/index.ts index b17f4eabc..83f5ff38b 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -3,6 +3,7 @@ import Vue from 'vue'; export { createNamespace } from './create'; export { addUnit } from './format/unit'; +export const inBrowser = typeof window !== 'undefined'; export const isServer: boolean = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function