生成失败,出现ReferenceError:未定义窗口

时间:2020-04-24 06:38:10

标签: gridsome

运行ReferenceError: window is not defined at Object. (src/gapi_client.js:1:9) at webpack_require (webpack/bootstrap:25:0) at Module. (assets/js/app.f322a6ac.js:68956:19) at webpack_require (webpack/bootstrap:25:0) at Object. (assets/js/app.f322a6ac.js:56344:18) at webpack_require (webpack/bootstrap:25:0) at assets/js/app.f322a6ac.js:118:18 at Object. (assets/js/app.f322a6ac.js:121:10) at o (/home/s/somegrid/node_modules/vue-server-renderer/build.prod.js:1:77607) at /home/s/somegrid/node_modules/vue-server-renderer/build.prod.js:1:78200 时我会得到

main.js

我的import './gapi_client'的顶部System: OS: Linux 4.15 Ubuntu 18.04.4 LTS (Bionic Beaver) CPU: (2) x64 AMD A6-4400M APU with Radeon(tm) HD Graphics Binaries: Node: 11.6.0 - /usr/local/bin/node Yarn: 1.15.2 - ~/.yarn/bin/yarn npm: 6.13.6 - /usr/local/bin/npm Browsers: Chrome: 81.0.4044.113 Firefox: 75.0 npmPackages: gridsome: ^0.7.14 => 0.7.14 npmGlobalPackages: @gridsome/cli: 0.3.1

我的环境:

if (process.isClient) {
window.gapi_client = require('./gapi_client')
}

一些问题:

  1. gapi_client.js为什么引用窗口?

  2. 仅当process.isClient为true时才导入gapi_client.js吗?

我按如下所示更改了main.js中的代码:

Error: No native build was found for runtime=node abi=67 platform=linuxglibc arch=x64
at Function.module.exports.load.path (node_modules/node-gyp-build/index.js:56:0)
at load (node_modules/node-gyp-build/index.js:18:0)
at Object. (node_modules/leveldown/binding.js:1:41)
at Object. (assets/js/app.ce34d4e7.js:28227:30)
at webpack_require (webpack/bootstrap:25:0)
at Object. (node_modules/leveldown/leveldown.js:3:16)
at webpack_require (webpack/bootstrap:25:0)
at Object. (node_modules/level/level.js:1:43)
at webpack_require (webpack/bootstrap:25:0)
at Object. (assets/js/app.ce34d4e7.js:9411:13)

现在,我的构建似乎可以顺利进行,但是失败了

{{1}}

2 个答案:

答案 0 :(得分:0)

尝试使用process.browser而不是process.isClient

答案 1 :(得分:0)

我将代码更改为:

if (process.isClient) {
    window.gapi_client = require('./gapi_client').default
}

它有效!