解决vuepress打包时:window is not defined

808 阅读1分钟

vuepress & ReferenceError: window is not defined

问题描述:

1. 在enhanceApp.js引入组件库

import Proud from "proud-ui";

export default ({ Vue }) => {
   Vue.use(Proud);
};

2. 运行npm run build

运行结果如下:

image.png

问题分析:

官网给出的答案是动态引入组件库

image.png

传送门:官方文档地址

解决:

实际上,官网并没有给出在enhanceApp.js文件中如何动态引入组件的方法

以下是具体解决代码:

export default async ({
  Vue,
  options,
  router, 
  siteData, 
  isServer,
}) => {
  if (!isServer) {
    await import("proud-ui").then((module) => {
      Vue.use(module.default);
    });
  }
};

image.png