Gatsby: WebpackError: ReferenceError: рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ - IE рдЪреЗрдХ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬреВрди 2019  ┬╖  1рдЯрд┐рдкреНрдкрдгреА  ┬╖  рд╕реНрд░реЛрдд: gatsbyjs/gatsby

рд╡рд┐рд╡рд░рдг

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ const isIE = /*@cc_on!@*/ false || !!document.documentMode рдХреЛ рдПрдХ рдЪреЗрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝рдХрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдХреНрд░реЛрдо / рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ gatsby develop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ gatsby build рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

error Building static HTML failed
WebpackError: ReferenceError: document is not defined

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

gatsby build рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рднреАрддрд░ const isIE = /*@cc_on!@*/ false || !!document.documentMode рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ js рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ {isIE && ()} рдХреЙрдиреНрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред Gatsby develop рдЙрдореНрдореАрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ IE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рд╕рд╛рдЗрдЯ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

рд╕рд╛рдЗрдЯ gatsby build рд╕рд╛рде рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИ рд▓реЗрдХрд┐рди gatsby develop рд╕рд╛рде рдареАрдХ рд╣реИред

WebpackError: ReferenceError: document is not defined
  - header.js:20 Module../src/components/header.js
    lib/src/components/header.js:20:27
  - bootstrap:19 __webpack_require__
    lib/webpack/bootstrap:19:1
  - bootstrap:19 __webpack_require__
    lib/webpack/bootstrap:19:1
  - bootstrap:19 __webpack_require__
    lib/webpack/bootstrap:19:1
  - sync-requires.js:8 Object../.cache/sync-requires.js
    lib/.cache/sync-requires.js:8:58
  - bootstrap:19 __webpack_require__
    lib/webpack/bootstrap:19:1
  - static-entry.js:9 Module../.cache/static-entry.js
    lib/.cache/static-entry.js:9:22
  - bootstrap:19 __webpack_require__
    lib/webpack/bootstrap:19:1
  - bootstrap:83 
    lib/webpack/bootstrap:83:1
  - universalModuleDefinition:3 webpackUniversalModuleDefinition
    lib/webpack/universalModuleDefinition:3:1
  - universalModuleDefinition:10 Object.<anonymous>
    lib/webpack/universalModuleDefinition:10:2
  - static-entry.js:84 Module._compile
    lib/.cache/static-entry.js:84:3
  - static-entry.js:101 Object.Module._extensions..js
    lib/.cache/static-entry.js:101:9

рд╡рд╛рддрд╛рд╡рд░рдг

  System:
    OS: macOS 10.14.5
    CPU: (8) x64 Intel(R) Core(TM) i5-8259U CPU @ 2.30GHz
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 10.15.3 - /usr/local/bin/node
    Yarn: 1.15.2 - /usr/local/bin/yarn
    npm: 6.9.0 - /usr/local/bin/npm
  Languages:
    Python: 2.7.10 - /usr/bin/python
  Browsers:
    Chrome: 75.0.3770.90
    Safari: 12.1.1
  npmPackages:
    gatsby: ^2.9.0 => 2.9.0 
    gatsby-image: ^2.1.3 => 2.1.3 
    gatsby-plugin-google-analytics: ^2.0.21 => 2.0.21 
    gatsby-plugin-hotjar: ^1.0.1 => 1.0.1 
    gatsby-plugin-manifest: ^2.1.1 => 2.1.1 
    gatsby-plugin-offline: ^2.1.1 => 2.1.1 
    gatsby-plugin-react-helmet: ^3.0.12 => 3.0.12 
    gatsby-plugin-sass: ^2.0.11 => 2.0.11 
    gatsby-plugin-sharp: ^2.1.3 => 2.1.3 
    gatsby-plugin-sitemap: ^2.1.0 => 2.1.0 
    gatsby-remark-external-links: 0.0.4 => 0.0.4 
    gatsby-source-contentful: ^2.0.69 => 2.0.69 
    gatsby-source-filesystem: ^2.0.39 => 2.0.39 
    gatsby-transformer-remark: ^2.3.12 => 2.3.12 
    gatsby-transformer-sharp: ^2.1.21 => 2.1.21 
  npmGlobalPackages:
    gatsby-cli: 2.6.7
question or discussion

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ j-651 рдЖрдк рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред" рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рдШрдЯрдирд╛рдУрдВ ( componentDidMount ) рдпрд╛ рд╣реБрдХ ( useEffect ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

import React, { useState, useEffect } from 'react'

function Something() {
  const [isIE, setIsIE] = useState(false)
  useEffect(() => {
    setIsIE(/*@cc_on!@*/ false || !!document.documentMode)
  }, [])

  return (
    <p>{isIE ? 'Internet Explorer' : 'Not IE'}</p>
  )
}

export default Something

рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

>рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@ j-651 рдЖрдк рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред" рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рдШрдЯрдирд╛рдУрдВ ( componentDidMount ) рдпрд╛ рд╣реБрдХ ( useEffect ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

import React, { useState, useEffect } from 'react'

function Something() {
  const [isIE, setIsIE] = useState(false)
  useEffect(() => {
    setIsIE(/*@cc_on!@*/ false || !!document.documentMode)
  }, [])

  return (
    <p>{isIE ? 'Internet Explorer' : 'Not IE'}</p>
  )
}

export default Something

рдЗрд╕ рдЙрддреНрддрд░ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ - рд╕рд╡рд╛рд▓ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

dustinhorton picture dustinhorton  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Oppenheimer1 picture Oppenheimer1  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hobochild picture hobochild  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

3CordGuy picture 3CordGuy  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brandonmp picture brandonmp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ