Gatsby: gatsby build рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рджрд┐рд╕ре░ 2018  ┬╖  2рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: gatsbyjs/gatsby

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

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреГрд╖реНрда рд╣реИ, /trial , рдЬреЛ рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрд╢рд╛ рдПрдХ рдорд╛рд░реНрдЧ рдкрд░рдо рдХреЗ рд╕рд╛рде рджреМрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореЗрд░реЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ, рдореИрдВ this.props.location.search рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдЧрд░ рдпрд╣ рдЧрд▓рдд (рдЦрд╛рд▓реА) рд╣реИ рддреЛ рдореИрдВ /trial/?product=foobar рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдХреЛрдб рд╣реИ

import React from 'react'
import { navigate } from 'gatsby'

class Foobar extends React.Component {
  constructor(props) {
    super(props)
    this.redirectIfNecessary()
  }

  redirectIfNecessary() {
    // Make prospect the default product
    const { location } = this.props
    const { search } = location
    if (!search) {
      navigate('/trial/?product=foobar', {
        state: {
          product: 'foobar',
        },
      })
    }
  }

  render() {
    return <div>Hello, world</div>
  }
}

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирд╛рдо рдЙрдореНрдореАрджреЗрдВ

рдпрд╣ рджреЗрд╡ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ gatsby build рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ

error Building static HTML for pages failed

See our docs page on debugging HTML builds for help https://goo.gl/yL9lND

  186 | 
  187 | var navigate = function navigate(to, options) {
> 188 |   window.___navigate(withPrefix(to), options);
      | ^
  189 | };
  190 | 
  191 | exports.navigate = navigate;


  WebpackError: ReferenceError: window is not defined

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

gatsby info --clipboard

  System:
    OS: macOS 10.14.1
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 11.3.0 - /usr/local/bin/node
    Yarn: 1.12.3 - /usr/local/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
  Browsers:
    Chrome: 70.0.3538.110
    Firefox: 63.0.3
    Safari: 12.0.1
  npmPackages:
    gatsby: ^2.0.64 => 2.0.64 
    gatsby-image: ^2.0.20 => 2.0.22 
    gatsby-plugin-manifest: ^2.0.10 => 2.0.11 
    gatsby-plugin-offline: ^2.0.19 => 2.0.19 
    gatsby-plugin-react-helmet: ^3.0.4 => 3.0.4 
    gatsby-plugin-react-svg: ^2.0.0 => 2.0.0 
    gatsby-plugin-sass: ^2.0.7 => 2.0.7 
    gatsby-plugin-sharp: ^2.0.15 => 2.0.15 
    gatsby-source-filesystem: ^2.0.11 => 2.0.11 
    gatsby-transformer-sharp: ^2.1.8 => 2.1.9 
  npmGlobalPackages:
    gatsby-cli: 2.4.6
question or discussion

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

рдЕрд░реЗ @kevinmichaelchen

Webpack рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ window рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВред

рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп redirectIfNecessary рдХреЙрд▓ рдХреЛ constructor componentDidMount рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдпрд╣ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВред

рдЖрдк рдЗрд╕реЗ рд░рд╛рдЙрдЯрд░ рд╕реЗ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдШрдЯрдХ рд╕рд╣рд┐рдд рдЕрдкрдиреЗ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреА рдШреЛрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЧреИрдЯреНрд╕рдмреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рд╣реИ рддреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

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

рдЕрд░реЗ @kevinmichaelchen

Webpack рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ window рдХреЗрд╡рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВред

рдЖрдк рдЗрд╕рдХреЗ рдмрдЬрд╛рдп redirectIfNecessary рдХреЙрд▓ рдХреЛ constructor componentDidMount рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдпрд╣ рдХреЗрд╡рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВред

рдЖрдк рдЗрд╕реЗ рд░рд╛рдЙрдЯрд░ рд╕реЗ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдШрдЯрдХ рд╕рд╣рд┐рдд рдЕрдкрдиреЗ рд░реЗрдВрдбрд░ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреА рдШреЛрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЧреИрдЯреНрд╕рдмреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рд╣реИ рддреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдлрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдпреВрдЬрд░ рдмреНрд░рд╛рдЙрдЬрд░ рдореЛрдиреЛрдбреЛ рд░реЗрдкреЛ!

https://www.npmjs.com/package/browser-monads

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

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

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

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

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

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

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