Gridsome构建因TypeError失败

在入门项目模板上运行Gridsome构建时遇到一些麻烦。该网站可以在localhost上正常运行。我尝试npm install gridsome@latest更新或安装所有缺少的软件包。

Gridsome构建给我以下错误:

    Could not generate HTML for "/work/":
    TypeError: Cannot read property 'console' of null
      at Object. (C:\Users\Micah\Desktop\my-gridsome-site\node_modules\vue-meta\dist\vue-meta.common.js:103:23)
      at Module._compile (internal/modules/cjs/loader.js:778:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      at Module.load (internal/modules/cjs/loader.js:653:32)
      at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      at Module.require (internal/modules/cjs/loader.js:692:17)
      at require (internal/modules/cjs/helpers.js:25:18)
      at C:\Users\Micah\Desktop\my-gridsome-site\node_modules\vue-server-renderer\build.prod.js:1:77671
      at Object. (webpack:/external "vue-meta":1:0)

vue-meta.common.js:103:23处的代码如下所示读取var console = _global.console || {};

var hasGlobalWindow = hasGlobalWindowFn();

var _global = hasGlobalWindow ? window : global;

var console = _global.console || {};
function warn(str) {
  /* istanbul ignore next */
  if (!console || !console.warn) {
    return;
  }

  console.warn(str);
}
var showWarningNotSupported = function showWarningNotSupported() {
  return warn('This vue app/component has no vue-meta configuration');
};

复制步骤

从命令行运行网格构建。

环境

System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
Binaries:
Node: 10.16.3 - C:\Program Files\nodejs\node.EXE
npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: 44.18362.449.0
npmPackages:
gridsome: ^0.7.11 => 0.7.11
gridsome-plugin-tailwindcss: ^2.2.26 => 2.2.26
huangyi_liyanping 回答:Gridsome构建因TypeError失败

我认为问题仅在于构建,原因是组件的lack of SSR(服务器端呈现)。在构建模式下没有窗口。尝试使用<template>标签将组件包装在vue的<ClientOnly>标签中,如下所示:

<template>
  <ClientOnly>
    <my-component />
  </ClientOnly>
</template>
本文链接:https://www.f2er.com/2988681.html

大家都在问