Gatsby: 창이 μ •μ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 06μ›” 02일  Β·  38μ½”λ©˜νŠΈ  Β·  좜처: gatsbyjs/gatsby

λ‚΄ ꡬ성 μš”μ†Œμ™€ ν•¨κ»˜ semantic-ui κ°€μ Έμ˜€κΈ°λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

κ°œλ°œμ—μ„œλŠ” 잘 μž‘λ™ν•˜μ§€λ§Œ gatsby build ν•˜λ €κ³  ν•˜λ©΄ Error: ReferenceError: window is not defined λ©λ‹ˆλ‹€.

λ‚˜λŠ” μ΄κ²ƒμ„ν•˜κ³ μžˆλ‹€ :

import $ from 'jquery';
$.fn.transition = require('semantic-ui-transition');
$.fn.dropdown = require('semantic-ui-dropdown');

ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

νŽΈμ§‘: λ‹€μŒκ³Ό ν•¨κ»˜ μž‘λ™ν•˜λ„λ‘ 관리:

try {
  $.fn.sidebar = require('semantic-ui-sidebar');
} catch (e) {
  console.log(e)
}

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

νš¨κ³Όκ°€ μžˆμ—ˆλ‹€! κ³ λ§ˆμ›Œ.

팁: 이 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ typeof window !== 'undefined' && window.whaterver-you-need λ₯Ό μž…λ ₯ν•˜μ„Έμš”.

λͺ¨λ“  38 λŒ“κΈ€

예, 개발 쀑에 λ°˜μ‘ ꡬ성 μš”μ†ŒλŠ” window κ°€ μ •μ˜λœ λΈŒλΌμš°μ €μ—μ„œλ§Œ μ‹€ν–‰λ©λ‹ˆλ‹€. λΉŒλ“œν•  λ•Œ GatsbyλŠ” window κ°€ μ •μ˜λ˜μ§€ μ•Šμ€ μ„œλ²„μ—μ„œ μ΄λŸ¬ν•œ ꡬ성 μš”μ†Œλ₯Ό λ Œλ”λ§ν•©λ‹ˆλ‹€. 일반적으둜 Reactμ—μ„œ 이에 λŒ€ν•œ 해결책은 componentDidMount window μ—λ§Œ μ•‘μ„ΈμŠ€ν•˜κ±°λ‚˜ μ•‘μ„ΈμŠ€ν•˜κΈ° 전에 window κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ” 타사 라이브러리의 경우 μˆ˜ν–‰ν•œ μž‘μ—…μ΄ ν›Œλ₯­ν•΄ λ³΄μž…λ‹ˆλ‹€.

λ‚΄κ°€μ—†λŠ” 것 @KyleAMathews μ·¨λ“ν•˜λŠ” componentDidMount ν™”μž¬μ— html.js λ˜λŠ” _template.jsx μ‚¬μš©ν•˜μ—¬ gatsby develop , μ–΄μ©Œλ©΄ 그것은에 μ•ˆ, λ˜λŠ” λ‚΄κ°€ν•˜κ³  μžˆμ–΄μš” λ­”κ°€ 잘λͺ»?

@hitchcott κ·€ν•˜μ˜ λΉŒλ“œμ— λŒ€ν•΄ 쑰금 더 κ³΅μœ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 방금 semantic-uiλ₯Ό gatsby ν”„λ‘œμ νŠΈμ— μ„€μΉ˜ν–ˆμ§€λ§Œ CSSκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚΄ νŽ˜μ΄μ§€μ— CSSλ₯Ό λ‘œλ“œν•˜λŠ” 방법을 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. ReactλŠ” 인라인 μŠ€νƒ€μΌμ΄ λ§žλ‹€κ³  κ°€μ •ν•˜μ§€λ§Œ μ–΄λ–»κ²Œ μ•Œ 수 μžˆμŠ΅λ‹ˆκΉŒ? λ˜ν•œ gulp λŒ€μ‹  LESS λΉŒλ“œλ₯Ό μˆ˜ν–‰ν•˜λ„λ‘ webpack을 ꡬ성해야 ν•œλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€. webpack-lessloaderλ₯Ό 방금 μ„€μΉ˜ν•˜μ…¨μŠ΅λ‹ˆκΉŒ?

@Maxhodges β€” μŠ€νƒ€μΌμ— λŒ€ν•΄ "μ•Œκ³  μžˆλŠ”" 것은 Reactκ°€ μ•„λ‹ˆλΌ Webpackμž…λ‹ˆλ‹€. Webpack은 λ²ˆλ“€λ‘œ μ œκ³΅λ˜λŠ” JS 파일의 μ–΄λ”˜κ°€μ— 컴파일된 νŒŒμΌμ„ κ°€μ Έμ˜€κ±°λ‚˜ ν•„μš”λ‘œ ν•˜κΈ° λ•Œλ¬Έμ— μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, _template.js νŒŒμΌμ—μ„œ κΈ°λ³Έ styles.css λ₯Ό κ°€μ Έμ˜€κΈ° λ•Œλ¬Έμ— Webpack이 λ²ˆλ“€μ„ λΉŒλ“œν•  λ•Œ μ΄λŸ¬ν•œ μŠ€νƒ€μΌμ΄ ν¬ν•¨λ©λ‹ˆλ‹€. ν”„λ‘œλ•μ…˜μ— μžˆμ„ λ•Œ μ™ΈλΆ€ μ°Έμ‘° 파일( 예λ₯Ό 보렀면 μ—¬κΈ° cssLink μ°Έμ‘° ).

GatsbyλŠ” 이미 κΈ°λ³Έ Webpack ꡬ성에 ν•˜λ‚˜λ₯Ό ν¬ν•¨ν•˜κ³  μžˆμœΌλ―€λ‘œ μΆ”κ°€ LESS λ‘œλ”κ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ¬Έμ„œ μ‚¬μ΄νŠΈ μ„€μΉ˜μ— λŒ€ν•œ Gatsby GitHub νŽ˜μ΄μ§€μ˜ 지침을 λ”°λžλ˜ 뢄듀을 μœ„ν•΄...
import { colors } from 'utils/colors'
문제λ₯Ό λ§Œλ“œλŠ” μ‚¬λžŒμ΄κ³  이것을 주석 μ²˜λ¦¬ν•œ ν›„ ${colors.bg} μ‚¬μ΄νŠΈκ°€ λ©‹μ§€κ²Œ λ°œμ „ν–ˆμŠ΅λ‹ˆλ‹€.

이 경우 더 λ‚˜μ€ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆκΉŒ? μ–΄λ””μ—μ„œ 였λ₯˜λ₯Ό 찾을 수 μžˆλŠ”μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

Failed at generating HTML

/home/projects/snipsonian/node_modules/gatsby/dist/bin/cli.js:42
      throw err;
      ^
Error: ReferenceError: window is not defined
    at Object.defineProperty.value (render-page.js:44529:79)
    at __webpack_require__ (render-page.js:30:30)
    at Object.exports.__esModule (render-page.js:42560:24)
    at __webpack_require__ (render-page.js:30:30)
    at Object.defineProperty.value (render-page.js:42533:51)
    at __webpack_require__ (render-page.js:30:30)
    at Object.<anonymous> (render-page.js:80:19)
    at __webpack_require__ (render-page.js:30:30)
    at Object.assign.i (render-page.js:50:18)
    at render-page.js:53:10
error Command failed with exit code 1.

정말 쒋은 μƒκ°μ΄λ„€μš”! ν˜„μž¬ 1.0을 μ—΄μ‹¬νžˆ λˆ„λ₯΄κ³  μžˆμœΌλ―€λ‘œ 이것을 얻지 λͺ»ν•  κ²ƒμž…λ‹ˆλ‹€.
곧, ν•˜μ§€λ§Œ μ§€κΈˆμ€ public/render-page.jsλ₯Ό 쀄 번호둜 μ—½λ‹ˆλ‹€.
거기에 ν‘œμ‹œ(44529)ν•˜κ³  μ–΄λ–€ μ½”λ“œκ°€ 문제λ₯Ό μΌμœΌν‚€λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

2017λ…„ 5μ›” 17일 μˆ˜μš”μΌ μ˜€μ „ 11:45 Thomas Seberechts [email protected]
썼닀:

이 경우 더 λ‚˜μ€ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆκΉŒ? NS
μ–΄λ””μ—μ„œ 였λ₯˜λ₯Ό 찾을 수 μžˆλŠ”μ§€ λͺ¨λ¦…λ‹ˆλ‹€.

HTML 생성 μ‹€νŒ¨

/home/projects/snipsonian/node_modules/gatsby/dist/bin/cli.js:42
였λ₯˜λ₯Ό λ˜μ§€λ‹€;
^^
였λ₯˜: ReferenceError: 창이 μ •μ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
Object.defineProperty.valueμ—μ„œ (render-page.js:44529:79)
__webpack_require__μ—μ„œ (render-page.js:30:30)
Object.exports.__esModuleμ—μ„œ(render-page.js:42560:24)
__webpack_require__μ—μ„œ (render-page.js:30:30)
Object.defineProperty.valueμ—μ„œ (render-page.js:42533:51)
__webpack_require__μ—μ„œ (render-page.js:30:30)
κ°œμ²΄μ—μ„œ.(λ Œλ” νŽ˜μ΄μ§€.js:80:19)
__webpack_require__μ—μ„œ (render-page.js:30:30)
Object.assign.iμ—μ„œ (render-page.js:50:18)
render-page.js:53:10μ—μ„œ
였λ₯˜ λͺ…령이 μ’…λ£Œ μ½”λ“œ 1κ³Ό ν•¨κ»˜ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.

β€”
당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/gatsbyjs/gatsby/issues/309#issuecomment-302041105 ,
λ˜λŠ” μŠ€λ ˆλ“œ μŒμ†Œκ±°
https://github.com/notifications/unsubscribe-auth/AAEVh6E9bZyyi0iX-Q7Q92VTvEb1DZbmks5r6sHGgaJpZM4Isiea
.

νš¨κ³Όκ°€ μžˆμ—ˆλ‹€! κ³ λ§ˆμ›Œ.

팁: 이 문제λ₯Ό ν•΄κ²°ν•˜λ €λ©΄ typeof window !== 'undefined' && window.whaterver-you-need λ₯Ό μž…λ ₯ν•˜μ„Έμš”.

componetDidMount μ‚¬μš©ν•  λ•Œ 였λ₯˜κ°€ μ‚¬λΌμ§‘λ‹ˆλ‹€.

λΉ„μŠ·ν•œ λ¬Έμ œκ°€ μžˆμ§€λ§Œ λΈŒλΌμš°μ €μ—μ„œ 일뢀 redux μƒνƒœλ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄ localStorageλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. store.js νŒŒμΌμ—μ„œ window.localStorage λ₯Ό μ‚¬μš©ν•  수 μ—†λŠ” 경우 이 문제λ₯Ό μ–΄λ–»κ²Œ μš°νšŒν•©λ‹ˆκΉŒ?

😒

감사 ν•΄μš”!

@그레고λ₯΄μŠ€ν‚€

const windowGlobal = typeof window !== 'undefined' && window

그러면 windowGlobal.localStorage

예, 이것은 νš¨κ³Όκ°€ μžˆμ—ˆμ§€λ§Œ https://www.npmjs.com/package/localstorage-memoryλ₯Ό μ‚¬μš©ν•˜μ—¬ 둜컬 μŠ€ν† λ¦¬μ§€λ₯Ό μ‘°λ‘±ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

const windowGlobal = typeof window !== 'undefined' && window;
const localAdapter = windowGlobal ?
  adapter(windowGlobal.localStorage) :
  adapter(memoryStorage)
;

https://www.npmjs.com/package/redux-localstorage μ‚¬μš©

componentDidMount window μ—λ§Œ μ•‘μ„ΈμŠ€

타사 js에 λŒ€ν•œ μš”μ§€.

// index.js
import React from "react";
import Link from "gatsby-link";

// import "uikit/dist/js/uikit";
// Third party JS access `window` without
// `typeof window !== "undefined"` check

class Template extends React.Component {
  componentDidMount() {
    import("uikit/dist/js/uikit")
      .then((uikit) => {
        this.uikit = uikit;
      })
      .catch((error) => console.error(error));
  }
  render() {
    // ...
  }
}

// ...

@CallMeLaNN μ œμ•ˆμ΄ μ €μ—κ²Œ

WebpackError: μš”μ†Œκ°€ μ •μ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

componentDidMount 내뢀에 κ°€μ Έμ˜€κΈ°λ₯Ό λ„£λŠ” 것이 νš¨κ³Όκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

 componentDidMount() {
    try {
      this.UIkit = require("uikit/dist/js/uikit");
      this.Icons = require("uikit/dist/js/uikit-icons");
      this.UIkit.use(this.Icons);
    } catch (e) {
      console.error(e);
    }
  }

예, 개발 쀑에 λ°˜μ‘ ꡬ성 μš”μ†ŒλŠ” 창이 μ •μ˜λœ λΈŒλΌμš°μ €μ—μ„œλ§Œ μ‹€ν–‰λ©λ‹ˆλ‹€. GatsbyλŠ” λΉŒλ“œν•  λ•Œ μœˆλ„μš°κ°€ μ •μ˜λ˜μ§€ μ•Šμ€ μ„œλ²„μ—μ„œ μ΄λŸ¬ν•œ ꡬ성 μš”μ†Œλ₯Ό λ Œλ”λ§ν•©λ‹ˆλ‹€. 일반적으둜 Reactμ—μ„œ 이에 λŒ€ν•œ 해결책은 componentDidMount의 창에 μ•‘μ„ΈμŠ€ν•˜κ±°λ‚˜ μ•‘μ„ΈμŠ€ν•˜κΈ° 전에 창이 μ‘΄μž¬ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ” 타사 라이브러리의 경우 μˆ˜ν–‰ν•œ μž‘μ—…μ΄ ν›Œλ₯­ν•΄ λ³΄μž…λ‹ˆλ‹€.

이것을 쑰기에/λˆˆμ— λ„κ²Œ λ“œλŸ¬λ‚΄λŠ” 것이 맀우 도움이 될 κ²ƒμž…λ‹ˆλ‹€. 처음으둜 λΉŒλ“œλ₯Ό μ‹œλ„ν•˜κ³  있으며 이것이 λ¬Έμ œκ°€ 될 쀄 λͺ°λžκΈ° λ•Œλ¬Έμ— μ§€κΈˆ μˆ˜μ •ν•΄μ•Ό ν•  λ§Žμ€ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. κΈ΄κΈ‰ν•˜κ²Œ 배포해야 ν•˜κΈ° λ•Œλ¬Έμ— 특히 μŠ€νŠΈλ ˆμŠ€κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. μ œμ•ˆμ„œλ₯Ό μ œμΆœν•˜κ³  μžˆλŠ”λ° μ‚¬μ΄νŠΈκ°€ μ˜¨λΌμΈμ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ €λŠ” Github Pagesμ—λ§Œ λ°°ν¬ν•˜λ €κ³  ν•˜λ―€λ‘œ(적어도 μ§€κΈˆμ€) SSR이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈμš©μœΌλ‘œλ§Œ ꡬ좕할 수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

Gatsby v2μ—μ„œλŠ” es6κ³Ό commonjs κ°€μ Έμ˜€κΈ° μ€‘μ—μ„œ 선택해야 ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. webpack 4와 κ΄€λ ¨λœ 이유둜 더 이상 ν˜Όν•©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

그것이 사싀이고 이미 es6 κ°€μ Έμ˜€κΈ°λ₯Ό μ‚¬μš©ν•˜κ³  μžˆλ‹€κ³  κ°€μ •ν•˜λ©΄ @jfaeldon의 μ†”λ£¨μ…˜μ΄ μ—¬κΈ°μ—μ„œ μ‚¬μš©ν•  μ†”λ£¨μ…˜μ΄κ³  @hitchcott의 μ†”λ£¨μ…˜μ€ 더 이상 μž‘λ™ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

λˆ„κ΅°κ°€ 그것을 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

@joshwcomeauλŠ” μ „μ μœΌλ‘œ λ™μ˜ν•©λ‹ˆλ‹€. λ˜ν•œ λΈŒλΌμš°μ €μ—μ„œλ§Œ devλ₯Ό μ‹€ν–‰ν•˜κ³  node.jsμ—μ„œ λΉŒλ“œν•˜λŠ” 것은 쒋은 생각이 μ•„λ‹ˆλΌκ³  μƒκ°ν•©λ‹ˆλ‹€. κ·Έ 차이가 λ„ˆλ¬΄ μ»€μ„œ DEV와 PROD ν™˜κ²½μ—μ„œ μ΅œλŒ€ν•œ λΉ„μŠ·ν•œ ν™˜κ²½μ„ λ§Œλ“€κ³  μ‹ΆκΈ° λ•Œλ¬Έμ— gatsby도 λ˜‘κ°™μ΄ ν•˜κ³  dev와 buildλ₯Ό μ΅œλŒ€ν•œ λΉ„μŠ·ν•œ ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ λΈŒλΌμš°μ €μ—μ„œ λΉŒλ“œλ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? λ‚˜λŠ” SSR이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”,
μ—¬κΈ°μ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. CoverflowλŠ” gatsby κ°œλ°œμ—μ„œλŠ” 잘 μž‘λ™ν•˜μ§€λ§Œ λΉŒλ“œμ—μ„œλŠ” 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
WebpackError: 창이 μ •μ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

     - react-coverflow.js:1 Object.<anonymous>
       ~/react-coverflow/dist/react-coverflow.js:1:330

     - main.js:1 Object.<anonymous>
       ~/react-coverflow/main.js:1:1

'react-coverflow'μ—μ„œ Coverflow κ°€μ Έμ˜€κΈ°;
'라듐'μ—μ„œ { StyleRoot } κ°€μ Έμ˜€κΈ°

클래슀 νŒ€μ€ React.Component {λ₯Ό ν™•μž₯ν•©λ‹ˆλ‹€.

μ„Έμš°λ‹€(){
λ°˜ν’ˆ(

displayQuantityOfSide={2}
ν•­ν•΄
λ¬΄ν•œ 슀크둀
ν‘œμ œ ν™œμ„±ν™”
ν™œμ„±={0}
λ―Έλ””μ–΄={{
' @λ―Έλ””μ–΄ (μ΅œλŒ€ λ„ˆλΉ„: 720px)': {
λ„ˆλΉ„: '100%',
높이: '200px'
},
' @λ―Έλ””μ–΄ (μ΅œμ†Œ λ„ˆλΉ„: 720px)': {
λ„ˆλΉ„: '100%',
높이: '400px',
}
}}
>
Chairperson
Deputy Chairperson
General Secretary
Recording Secretary
Treasury
Marketing

  </Coverflow>
</StyleRoot>
)

}
}

κΈ°λ³Έ νŒ€ 내보내기;

λͺ‡ 개의 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•œ ν›„ 이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ νŒ¨ν‚€μ§€ 쀑 ν•˜λ‚˜μ— μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ¬Έμ œκ°€ μžˆλŠ” μœ„μΉ˜λ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. λˆ„κ΅¬λ“ μ§€ μ–΄λ–€ npm νŒ¨ν‚€μ§€κ°€ 될 수 μžˆλŠ”μ§€ 더 잘 νŒŒμ•…ν•˜λŠ” 방법에 λŒ€ν•œ 팁이 μžˆμŠ΅λ‹ˆκΉŒ? 였λ₯˜λŠ” μ‹€λ§μŠ€λŸ¬μšΈ μ •λ„λ‘œ μΌλ°˜μ μž…λ‹ˆλ‹€.

λ°˜μ‘ κ΅¬ν˜„μ΄ 더 λ‚˜μ„κΉŒμš”?
https://react.semantic-ui.com/ 및 https://github.com/pretzelhands/gatsby-starter-semantic-ui

@wmlutz λ‚΄κ°€ μ œκ³΅ν•  수 μžˆλŠ” κ°€μž₯ κ°„λ‹¨ν•œ μ„€λͺ…은 개발 쀑인 ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜κΈ° μœ„ν•΄ gatsby develop λ₯Ό λ°œν–‰ν•˜κ±°λ‚˜ ν”„λ‘œλ•μ…˜ λΉŒλ“œλ₯Ό μœ„ν•΄ gatsby build && gatsby serve λ₯Ό λ°œν–‰ν•  λ•Œ λ‚΄λΆ€μ μœΌλ‘œ Gatsbyκ°€ μƒμ„±ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. νŽ˜μ΄μ§€μ™€ CSS, 링크 λ“±. κ·ΈλŸ¬λ‚˜ λͺ…심해야 ν•  것은 이것이 ν΄λΌμ΄μ–ΈνŠΈ 츑이 μ•„λ‹ˆλΌ μ„œλ²„ μΈ‘, λ…Έλ“œ μΈ‘μ—μ„œ μˆ˜ν–‰λœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ λ…Έλ“œλŠ” ν΄λΌμ΄μ–ΈνŠΈ μ „μš©μ΄λ―€λ‘œ ν•΄λ‹Ή νŠΉμ • API에 μ•‘μ„ΈμŠ€ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 그리고 일뢀 νŒ¨ν‚€μ§€λŠ” 기본적으둜 Gatsby와 잘 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. "λ©‹μ§€κ²Œ ν”Œλ ˆμ΄"ν•˜λ €λ©΄ 일뢀 변경이 ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@jonniebigodes - κ°μ‚¬ν•©λ‹ˆλ‹€. 이제 _이유_λ₯Ό μ΄ν•΄ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. λ‚΄ 것은 이제 _what_μž…λ‹ˆλ‹€. λ‚˜λŠ” μ–΄λ¦¬μ„κ²Œλ„ λ§Žμ€ 일을 ν–ˆκ³  μ–΄λ–€ νŒ¨ν‚€μ§€κ°€ 문제λ₯Ό μΌμœΌν‚€λŠ”μ§€ νŒŒμ•…ν•˜λŠ” 데 어렀움을 κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€. μ’€ 더 μžμ„Έν•œ 였λ₯˜ 보고와 ν•¨κ»˜ gatsby build 방법이 μ—†μŠ΅λ‹ˆκΉŒ?

@jonniebigodes - 문제λ₯Ό μΌμœΌν‚€λŠ” νŒ¨ν‚€μ§€λ₯Ό μ•Œμ•„λƒˆμŠ΅λ‹ˆλ‹€. react toasts . λ‚΄ λ‹€μŒ λ¬Έμ œλŠ” 그것을 κ³ μΉ  방법을 μ•Œμ•„λ‚΄λŠ” κ²ƒμž…λ‹ˆλ‹€.

_handleSubmit = async (e) => {
    e.preventDefault();
    let {email} = this.state;

    const response = await addToMailchimp(email)
    if (response.result === "success") {
      ToastsStore.success("Successfully joined the list")
    }
    if (response.result === "error") {
      ToastsStore.error("There was an error: " + result.msg)
    }
  }

@wmlutz μ•„λž˜ μ½”λ“œ 블둝과 같은 κ²ƒμž…λ‹ˆλ‹€. react λŠ” 초기 정적 λ²ˆλ“€μ΄ μˆ˜μ‹ λœ ν›„ λ‘œλ“œλ©λ‹ˆλ‹€. λ”°λΌμ„œ μ‚¬μš©μžκ°€ _handleSubmit window λ„λ‹¬ν•˜λ©΄ μ‘΄μž¬ν•˜κ²Œ λ©λ‹ˆλ‹€.

react toasts κ°€ window μ—μ„œ import window λ₯Ό ν˜ΈμΆœν•˜λ©΄ μ—¬μ „νžˆ 였λ₯˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

_handleSubmit = async (e) => {
    e.preventDefault();
    let {email} = this.state;

    const response = await addToMailchimp(email)
    if (response.result === "success") {
      if (window) ToastsStore.success("Successfully joined the list")
    }
    if (response.result === "error") {
      if (window) ToastsStore.error("There was an error: " + result.msg)
    }
  }

같은 λ¬Έμ œμž…λ‹ˆλ‹€. λ‹€λ₯Έ Toast 라이브러리λ₯Ό μ°Ύκ±°λ‚˜ 직접 λ§Œλ“€κ² μŠ΅λ‹ˆλ‹€. λ‚  죽이면 μ•ˆ 돼.

@joserocha3 ν•΄λ‹Ή μ½”λ“œλŠ” 개발 λͺ¨λ“œμ—μ„œλ§Œ μž‘λ™ν•©λ‹ˆλ‹€. ν”„λ‘œλ•μ…˜ λΉŒλ“œμ— λŒ€ν•œ 호좜이 μ‹€ν–‰λ˜λ©΄ error Building static HTML failed λ‹¨κ³„μ—μ„œ μ‹€νŒ¨ν•©λ‹ˆλ‹€. Gatsbyκ°€ κ°€μ Έμ˜€κΈ°λ₯Ό κ²€μ‚¬ν•˜κ³  문제의 νŒ¨ν‚€μ§€λ₯Ό 찾으면 이 νŒ¨ν‚€μ§€κ°€ node.js 및 @wmlutz에 κ³ μœ ν•˜μ§€ μ•Šμ€ 일뢀 APIλ₯Ό μ‚¬μš©ν•˜κ³  있기 λ•Œλ¬Έμ— μ‹€νŒ¨ν•  κ²ƒμž…λ‹ˆλ‹€. ν•΄λ‹Ή νŒ¨ν‚€μ§€μ˜ μ½”λ“œλŠ” 맀우 κ°„λ‹¨ν•˜κ³  λ„ˆλ¬΄ λ§Žμ€ 문제λ₯Ό μΌμœΌν‚€μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€. κ·€ν•˜μ˜ κ²½μš°μ— μ‘°μ •ν•©λ‹ˆλ‹€. 리포지토리λ₯Ό λΆ„κΈ°ν•˜κ³  μ½”λ“œλ₯Ό ν™•μΈν•˜κ³  μžμ‹ μ—κ²Œ μ ν•©ν•œ ꡬ성 μš”μ†Œ 집합을 λ§Œλ“œλŠ” 것이 μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” 포크에 λŒ€ν•΄ @jonniebigodes 에 λ™μ˜ν•©λ‹ˆλ‹€. repo μ†ŒμŠ€λŠ” λͺ‡ 개의 νŒŒμΌμ— λΆˆκ³Όν•©λ‹ˆλ‹€. λ¬Έμ œκ°€ λ˜λŠ” ν˜ΈμΆœμ€ ToastsContainer.tsx 의 document μ°Έμ‘°μž…λ‹ˆλ‹€.

λ˜λŠ” μœ„μ—μ„œ μ–ΈκΈ‰ν•œ https://github.com/gatsbyjs/gatsby/issues/309#issuecomment -387039877을 μ‹œλ„

κ·Έ 원인은 엄격 λͺ¨λ“œ, UMD 및 λ²ˆλ“€λ§μ΄ μž‘λ™ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€.

patch-package λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 포크가 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ˜ν•œ https://github.com/webpack/webpack/issues/6677 및 μ—°κ²°λœ 문제λ₯Ό μ°Έμ‘°

그것은 당신이 μ‚¬μš©ν•˜λŠ” μ½”λ“œ tgat와 그듀이 μ μ ˆν•œ 검사λ₯Ό μˆ˜ν–‰ν•˜λŠ”μ§€ λ˜λŠ” umd νƒ€κ²Ÿμ„ μ „ν˜€ μ‚¬μš©ν•˜κ³  μ „μ—­ objsctsλ₯Ό μ •μ˜ν•˜λŠ”μ§€μ— 달렀 μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„, μ—¬μ „νžˆ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. λ‚΄ ν”„λ‘œμ νŠΈμ—μ„œ μ°½ κΈ°λŠ₯을 μ‚¬μš©ν•˜μ§€ μ•Šμ•˜μ§€λ§Œ μ—¬μ „νžˆ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

μ˜€μ „ 1:09:03: λΉŒλ“œ μ‹œμž‘ μ€€λΉ„
11:09:05 AM: λΉŒλ“œ 이미지 버전: 9e0f207a27642d0115b1ca97cd5e8cebbe492f63
11:09:05 AM: λΉŒλ“œ 이미지 νƒœκ·Έ: v3.3.2
11:09:05 AM: λΉŒλ“œλ΄‡ 버전: 75cd99f62ada9e21edea53208e8baf0eab85a045
11:09:06 AM: μΊμ‹œλœ 쒅속성 κ°€μ Έμ˜€κΈ°
11:09:06 AM: 194.6MB μΊμ‹œ λ‹€μš΄λ‘œλ“œ μ‹œμž‘
11:09:07 AM: 1.636969993초 후에 μΊμ‹œ λ‹€μš΄λ‘œλ“œ μ™„λ£Œ
11:09:07 AM: μΊμ‹œ μΆ”μΆœ μ‹œμž‘
11:09:17 AM: 9.693656527μ΄ˆμ— μΊμ‹œ μΆ”μΆœ μ™„λ£Œ
11:09:17 AM: 11.478174001초 ν›„ μΊμ‹œ κ°€μ Έμ˜€κΈ° μ™„λ£Œ
11:09:17 AM: 리포지토리 λΉŒλ“œ μ€€λΉ„ μ‹œμž‘
11:09:17 AM: Git μ°Έμ‘° μ€€λΉ„ pull/21/head
μ˜€μ „ 11:09:18: netlify.toml을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. μ‚¬μ΄νŠΈ ꡬ성 μž¬μ •μ˜
11:09:18 AM: λΉŒλ“œ 슀크립트 μ‹œμž‘
11:09:18 AM: 쒅속성 μ„€μΉ˜
11:09:19 AM: μΊμ‹œλœ λ…Έλ“œ 버전 볡원 μ‹œμž‘
11:09:22 AM: μΊμ‹œλœ λ…Έλ“œ 버전 볡원 μ™„λ£Œ
11:09:23 AM: v10.16.0이 이미 μ„€μΉ˜λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
11:09:24 AM: ν˜„μž¬ λ…Έλ“œ v10.16.0(npm v6.9.0) μ‚¬μš© 쀑
11:09:25 AM: Ruby 버전 2.6.2 μ‹œλ„, ν™˜κ²½μ—μ„œ 읽기
11:09:27 AM: 루비 버전 2.6.2 μ‚¬μš©
11:09:27 AM: PHP 버전 5.6 μ‚¬μš©
11:09:27 AM: μΊμ‹œλœ λ…Έλ“œ λͺ¨λ“ˆ 볡원 μ‹œμž‘
11:09:27 AM: μΊμ‹œλœ λ…Έλ“œ λͺ¨λ“ˆ 볡원 μ™„λ£Œ
11:09:27 AM: μΊμ‹œλœ μ–€ μΊμ‹œ 볡원 μ‹œμž‘
11:09:27 AM: μΊμ‹œλœ μ–€ μΊμ‹œ 볡원 μ™„λ£Œ
11:09:28 AM: Yarn 버전 1.9.4λ₯Ό μ‚¬μš©ν•˜μ—¬ NPM λͺ¨λ“ˆ μ„€μΉ˜
11:09:29 AM: 원사 μ„€μΉ˜ v1.9.4
11:09:29 AM: κ²½κ³  package.json: λΌμ΄μ„ΌμŠ€ ν•„λ“œ μ—†μŒ
11:09:29 AM: κ²½κ³  package-lock.json을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ— Yarn μ΄μ™Έμ˜ λ„κ΅¬μ—μ„œ μƒμ„±λœ 잠금 파일이 μžˆμŠ΅λ‹ˆλ‹€. λ™κΈ°ν™”λ˜μ§€ μ•Šμ€ 잠금 파일둜 μΈν•œ 확인 뢈일치λ₯Ό ν”Όν•˜κΈ° μœ„ν•΄ νŒ¨ν‚€μ§€ κ΄€λ¦¬μžλ₯Ό ν˜Όν•©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. 이 κ²½κ³ λ₯Ό μ§€μš°λ €λ©΄ package-lock.json을 μ œκ±°ν•˜μ‹­μ‹œμ˜€.
11:09:29 AM: κ²½κ³  [email protected]: λΌμ΄μ„ΌμŠ€ ν•„λ“œ μ—†μŒ
11:09:29 AM: [1/4] νŒ¨ν‚€μ§€ ν•΄κ²° 쀑...
11:09:31 AM: [2/4] νŒ¨ν‚€μ§€λ₯Ό κ°€μ Έμ˜€λŠ” 쀑...
11:09:31 AM: (node:1201) [DEP0005] DeprecationWarning: Buffer()λŠ” λ³΄μ•ˆ 및 μ‚¬μš©μ„± 문제둜 인해 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λŒ€μ‹  Buffer.alloc(), Buffer.allocUnsafe() λ˜λŠ” Buffer.from() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.
11:10:04 AM: info [email protected]: "linux" ν”Œλž«νΌμ€ 이 λͺ¨λ“ˆκ³Ό ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: 정보 "[email protected]"은 선택적 쒅속성이며 ν˜Έν™˜μ„± 검사에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€. μ„€μΉ˜μ—μ„œ μ œμ™Έν•©λ‹ˆλ‹€.
11:10:04 AM: [3/4] 쒅속성 μ—°κ²° 쀑...
μ˜€μ „ 11:10:04: κ²½κ³  "gatsby > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "graphql@^0.12.0 || ^0.13.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "gatsby > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "graphql@^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0"이 μžˆμŠ΅λ‹ˆλ‹€.
11:10:04 AM: κ²½κ³  "gatsby > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "graphql@^0.13.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "gatsby-plugin-netlify > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "webpack@>=4.4.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "gatsby-plugin-sass > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "webpack@^3.0.0 || ^4.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  " > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "webpack@^2.0.0 || ^3.0.0 || ^4.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-auth@^2.0.4"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-auth@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-auth@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-auth@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"μ—λŠ” μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.8.2"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-lib-util@^2.0.4"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "moment@^2.11.2"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"μ—λŠ” μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.5"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.6"이 μžˆμŠ΅λ‹ˆλ‹€.
11:10:04 AM: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-emotion@^9.2.5"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.7.6"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "react-immutable-proptypes@^2.1.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "netlify-cms-ui-default@^2.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-date > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "moment@>=2.16.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@>=3.8.1"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.8.2"κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "slate@^0.32.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@^3.8.1"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "slate@^0.33.3"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "slate-schema-violations@^0.1.7"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@>=3.8.1"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@>=3.8.1"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-core > redux-notifications > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "redux@^2.0.0 || ^3.0.0"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  "netlify-cms > netlify-cms-widget-markdown > slate-react > [email protected]"에 μΆ©μ‘±λ˜μ§€ μ•Šμ€ ν”Όμ–΄ 쒅속성 "immutable@>=3.8.1"이 μžˆμŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:10:04: κ²½κ³  " > [email protected]"에 잘λͺ»λœ ν”Όμ–΄ 쒅속성 "react@^16.8.3"이 μžˆμŠ΅λ‹ˆλ‹€.
11:10:21 AM: [4/4] μ‹ μ„ ν•œ νŒ¨ν‚€μ§€ μ œμž‘ 쀑...
11:10:26 AM: 56.59초 λ§Œμ— μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
11:10:26 AM: Yarn을 μ‚¬μš©ν•˜μ—¬ μ„€μΉ˜λœ NPM λͺ¨λ“ˆ
11:10:26 AM: κ²½κ³  package.json: λΌμ΄μ„ΌμŠ€ ν•„λ“œ μ—†μŒ
11:10:26 AM: μΊμ‹œλœ go μΊμ‹œ 볡원 μ‹œμž‘
11:10:26 AM: μΊμ‹œλœ go μΊμ‹œ 볡원 μ™„λ£Œ
11:10:27 AM: GOOS μ„€μ • μ•ˆλ¨;
μ˜€μ „ 11:10:27: GOARCH μ„€μ • μ•ˆλ¨;
μ˜€μ „ 11:10:27: 내보내기 GOROOT='/opt/buildhome/.gimme/versions/go1.12.linux.amd64';
μ˜€μ „ 11:10:27: 내보내기 PATH="/opt/buildhome/.gimme/versions/go1.12.linux.amd64/bin:${PATH}";
11:10:27 AM: 버전 >&2;
μ˜€μ „ 11:10:27: 내보내기 GIMME_ENV='/opt/buildhome/.gimme/env/go1.12.linux.amd64.env';
11:10:27 AM: go1.12 linux/amd64 λ²„μ „μœΌλ‘œ 이동
11:10:27 AM: λˆ„λ½λœ λͺ…λ Ή μ„€μΉ˜
11:10:27 AM: μ‹€ν–‰ 디렉토리 확인
11:10:27 AM: μ‚¬μš©μž λͺ…λ Ή μ‹€ν–‰: npm run build
μ˜€μ „ 11:10:27: > [email protected] λΉŒλ“œ /opt/build/repo
11:10:27 AM: > run-p λΉŒλ“œ:**
μ˜€μ „ 11:10:28: > [email protected] build:app /opt/build/repo
11:10:28 AM: > npm run clean && gatsby λΉŒλ“œ
μ˜€μ „ 11:10:28: > [email protected] clean /opt/build/repo
11:10:28 AM: > rimraf .cache 곡개
11:10:32 AM: ν™˜κ²½ ꡬ성 μ‚¬μš©: 'ν”„λ‘œλ•μ…˜'
11:10:32 AM: 성곡 μ—΄κΈ° 및 gatsby-configs 검증 β€” 0.059초
11:10:32 AM: ν”ŒλŸ¬κ·ΈμΈ λ‘œλ“œ 성곡 β€” 0.454초
11:10:34 AM: PreInitμ—μ„œ 성곡 β€” 1.665초
11:10:34 AM: 이전 λΉŒλ“œμ—μ„œ html 및 css 파일 μ‚­μ œ 성곡 β€” 0.008초
11:10:34 AM: μΊμ‹œ μ΄ˆκΈ°ν™” 성곡 β€” 0.011초
11:10:34 AM: gatsby 파일 볡사 성곡 β€” 0.035초
μ˜€μ „ 11:10:34: PreBootstrapμ—μ„œ 성곡 β€” 0.009초
11:10:51 AM: 성곡 μ†ŒμŠ€ 및 λ³€ν™˜ λ…Έλ“œ β€” 17.231초
11:10:52 AM: 성곡 ꡬ좕 μŠ€ν‚€λ§ˆ β€” 0.896초
μ˜€μ „ 11:10:55: createPages 성곡 β€” 2.772초
μ˜€μ „ 11:10:55: createPagesStatefully 성곡 β€” 0.062초
μ˜€μ „ 11:10:55: PreExtractQueriesμ—μ„œ 성곡 β€” 0.006초
11:10:56 AM: μ—…λ°μ΄νŠΈ μŠ€ν‚€λ§ˆ 성곡 β€” 0.712초
11:10:56 AM: ꡬ성 μš”μ†Œμ—μ„œ 쿼리 μΆ”μΆœ 성곡 β€” 0.166초
11:10:57 AM: graphql 쿼리 μ‹€ν–‰ 성곡 β€” 1.068초 β€” 1460/1460 1368.43 쿼리/초
11:10:57 AM: νŽ˜μ΄μ§€ 데이터 μ“°κΈ° 성곡 β€” 0.035초
11:10:57 AM: λ¦¬λ””λ ‰μ…˜ 데이터 μ“°κΈ° 성곡 β€” 0.001초
11:10:57 AM: PostBootstrapμ—μ„œ 성곡 β€” 0.010초
11:10:57 AM: 정보 λΆ€νŠΈμŠ€νŠΈλž© μ™„λ£Œ - 28.304초
μ˜€μ „ 11:12:14: ν”„λ‘œλ•μ…˜ JavaScript 및 CSS λ²ˆλ“€ λΉŒλ“œ 성곡 β€” 76.329초
μ˜€μ „ 11:12:14:
11:12:14 AM: gatsby-plugin-purgecss:
11:12:14 AM: 이전 CSS 크기: 305.33KB
μ˜€μ „ 11:12:14: μƒˆ CSS 크기: 305.33KB(-0.00%)
11:12:14 AM: ~0.00KB의 CSS 제거됨
μ˜€μ „ 11:12:14:
11:12:23 AM: 였λ₯˜ 정적 HTML λΉŒλ“œ μ‹€νŒ¨
μ˜€μ „ 11:12:23: 도움이 ν•„μš”ν•˜λ©΄ HTML λΉŒλ“œ 디버깅에 λŒ€ν•œ λ¬Έμ„œ νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. https://gatsby.app/debug-html
μ˜€μ „ 11:12:23: 48 | window.YouTubeIframeLoader = YouTubeIframeLoader;
μ˜€μ „ 11:12:23: 49 | }
μ˜€μ „ 11:12:23: > 50 | }(μ°½λ¬Έ));
μ˜€μ „ 11:12:23: | ^^
μ˜€μ „ 11:12:23: 51 |
μ˜€μ „ 11:12:23:
11:12:23 AM: WebpackError: ReferenceError: 창이 μ •μ˜λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - index.js:50 Object../node_modules/youtube-iframe/index.js
μ˜€μ „ 11:12:23: [lib]/[youtube-iframe]/index.js:50:2
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ λΆ€νŠΈμŠ€νŠΈλž©:19 :1
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - MediaAutoTrack.js:15 Object../node_modules/@aws-amplify/analytics/lib/Providers/AmazonPersonalizeHelper/MediaAutoTrack.js
μ˜€μ „ 11:12:23: [lib]/[@aws-amplify]/analytics/lib/Providers/AmazonPersonalizeHelper/MediaAu toTrack.js:15:27
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ λΆ€νŠΈμŠ€νŠΈλž©:19 :1
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - index.js:7 Object../node_modules/@aws-amplify/analytics/lib/Providers/Amazon PersonalizeHelper/index.js
μ˜€μ „ 11:12:23: [lib]/[@aws-amplify]/analytics/lib/Providers/AmazonPersonalizeHelper/index.js:7:10
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ λΆ€νŠΈμŠ€νŠΈλž©:19 :1
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - AmazonPersonalizeProvider.js:52 Object../node_modules/@aws-amplify/analytics /lib/Providers/AmazonPersonalizeProvider.js
μ˜€μ „ 11:12:23: [lib]/[@aws-amplify]/analytics/lib/Providers/AmazonPersonalizeProvider.js:52:33
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ bootstrap:19 :1
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - index.js:7 Object../node_modules/@aws-amplify/analytics/lib/Providers/index.js js
μ˜€μ „ 11:12:23: [lib]/[@aws-amplify]/analytics/lib/Providers/index.js:7:35
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ λΆ€νŠΈμŠ€νŠΈλž©:19 :1
μ˜€μ „ 11:12:23:
μ˜€μ „ 11:12:23: - index.js:33 Object../node_modules/@aws-amplify/analytics/lib/index.js
μ˜€μ „ 11:12:23: [lib]/[@aws-amplify]/analytics/lib/index.js:33:10
11:12:24 AM: 'μ‚¬μ΄νŠΈ ꡬ좕' 단계 쀑 μ‹€νŒ¨: λΉŒλ“œ μŠ€ν¬λ¦½νŠΈμ—μ„œ 0이 μ•„λ‹Œ μ’…λ£Œ μ½”λ“œ λ°˜ν™˜: 1
μ˜€μ „ 11:12:23:
11:12:23 AM: - λΆ€νŠΈμŠ€νŠΈλž©:19 __webpack_require__
μ˜€μ „ 11:12:23: lib/webpack/ λΆ€νŠΈμŠ€νŠΈλž©:19 :1
μ˜€μ „ 11:12:23:
11:12:24 AM: λ‘œκΉ… μ’…λ£Œ, 58개의 λ©”μ‹œμ§€ 보λ₯˜ 쀑

λ‚΄ μ„œλ²„ μΈ‘μ—μ„œ netlifyλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

당신이 μ°½ νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€ μ•Šλ‹€κ³  ν™•μ‹ ν•œλ‹€λ©΄ μ•„λ§ˆλ„ 그럴 κ²ƒμž…λ‹ˆλ‹€.

webpackμ—μ„œ 빈 창을 μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

맀우 κ°„λ‹¨ν•˜μ§€λŠ” μ•Šμ§€λ§Œ μ˜¬λ°”λ₯Έ λ°©ν–₯으둜 이끌 κ²ƒμž…λ‹ˆλ‹€.

https://stackoverflow.com/questions/37656592/define-global-variable-with-webpack

이 λ¬Έμ œκ°€ μ™œ μ’…λ£Œλ˜μ—ˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. 사싀 이 λ¬Έμ œλŠ” κ°œμΈ λΉ„μ— κ΄€ν•œ ν•œ κ°€μž₯ μ€‘μš”ν•œ 문제일 것이며, 이에 λŒ€ν•œ 전체 철학이 λ°”λ€Œκ³  고쳐져야 ν•  κ²ƒμž…λ‹ˆλ‹€.

λΈŒλΌμš°μ €μ™€ SSR 둜직이 κ²°ν•©λœ 것은 정말 μ•ˆ 쒋은 μΌμž…λ‹ˆλ‹€. 개발 λ‹¨κ³„μ—μ„œ ν•œ λ²„μ „μ˜ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  ν”„λ‘œλ•μ…˜ λ‹¨κ³„μ—μ„œ λΆ„κΈ°ν•œλ‹€λŠ” 사싀은 말할 것도 μ—†μŠ΅λ‹ˆλ‹€. 이것은 정말 λ‚˜μ˜λ‹€. μ™œ 그런 λΉŒλ“œλ₯Ό λ§Œλ“€κΉŒμš”? 이 λ‘˜ μ‚¬μ΄μ˜ μœ μΌν•œ 차이점은 개발 및 예λ₯Ό λ“€μ–΄ μ†ŒμŠ€ 맡 λ“±μ˜ 디버깅 κΈ°λŠ₯을 ν™œμ„±ν™”ν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 이것은 μ‹€μ œλ‘œ Gatsbyλ₯Ό μ‚¬μš©ν•˜λŠ” 것을 μ–΄λ ΅κ³  맀λ ₯적으둜 λ§Œλ“­λ‹ˆλ‹€.

제 μƒκ°μ—λŠ” 이것을 λ‹€μ‹œ μ—΄κ³  이 문제의 μš°μ„  μˆœμœ„λ₯Ό 지정해야 ν•©λ‹ˆλ‹€. 이 문제둜 인해 μ‚¬λžŒλ“€μ€ 창에 μ˜μ‘΄ν•˜λŠ” 수천 개의 λͺ¨λ“ˆμ„ 말 κ·ΈλŒ€λ‘œ ν¬κΈ°ν•˜κ³  λͺ¨λ“  λͺ¨λ“ˆμ„ componentDidMountμ—μ„œ κ°€μ Έμ˜¬ 수 μžˆλŠ” 것은 μ•„λ‹™λ‹ˆλ‹€(예: λͺ¨λ“ˆκ³Ό 같은 HOC).

λ™μ˜ν•˜μ§€ μ•Šμ§€λ§Œ 이것이 κ³¨μΉ«κ±°λ¦¬μž…λ‹ˆλ‹€. μœˆλ„μš° λ³€μˆ˜ μ£Όλ³€μ˜ 둜직으둜 μž‘μ„±λœ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” SSR μ‚¬μš©μ— μ ν•©ν•˜μ§€ μ•Šλ‹€κ³  μ£Όμž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή 라이브러리 μžμ²΄λŠ” 창이 μ •μ˜λ˜μ–΄ 있고 SSR λͺ¨λ“œμ—μ„œ μž‘λ™ν•˜λŠ”μ§€ 확인해야 ν•©λ‹ˆλ‹€.

당신이 λ§Œλ“€κ³  μžˆλŠ” 더 κΉŠμ€ μš”μ μ— λŒ€ν•œ λ‹€λ₯Έ μ˜κ²¬μ€ μ—†μŠ΅λ‹ˆλ‹€. 그것은 μœ μ§€ κ΄€λ¦¬μžμ—κ²Œ 더 μ ν•©ν•œ 철학적 ν† λ‘ μž…λ‹ˆλ‹€.

λͺ¨λ“  쑴경심을 가지고 당신이 μ“΄ 것은 μ˜λ―Έκ°€ μ—†μŠ΅λ‹ˆλ‹€. "λΈŒλΌμš°μ € μ „μš©" 라이브러리λ₯Ό κ΅¬μΆ•ν•˜λŠ” μ‚¬λžŒμ΄ μ°½ κ°œμ²΄κ°€ μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? 이 μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 전체 NPM λ ˆμ§€μŠ€νŠΈλ¦¬μ—μ„œ 단일 라이브러리의 이름을 μ§€μ •ν•˜κ±°λ‚˜ 가리킬 수 μžˆμŠ΅λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ μ‚¬λžŒλ“€μ΄ μž‘μ„±ν•œ λͺ¨λ“  λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 잘λͺ» μž‘μ„±λ˜μ—ˆλ‹€λŠ” λ§μž…λ‹ˆκΉŒ?

μ•„λ‹ˆλ©΄ μ‚¬λžŒλ“€μ΄ 이것을 ν•„μš”λ‘œ ν•˜λŠ” "Gatsby"λΌλŠ” ν”„λ ˆμž„μ›Œν¬κ°€ μžˆλ‹€κ³  생각해야 ν•©λ‹ˆκΉŒ? ν•œμͺ½ λ˜λŠ” λ‹€λ₯Έ μͺ½ λμ—μ„œ Gatsbyλ₯Ό μ‚¬μš©ν•  수 μžˆμ–΄μ•Ό ν•˜λ©° ν•΄λ‹Ή 끝은 μ™„μ „νžˆ λΆ„λ¦¬λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 이것이 μœ μΌν•œ μš”μ μž…λ‹ˆλ‹€. 그것에 λŒ€ν•΄ 철학적인 것은 μ—†μŠ΅λ‹ˆλ‹€.

섀계상 GatsbyλŠ” 정적 μ‚¬μ΄νŠΈ μƒμ„±κΈ°μž…λ‹ˆλ‹€. 이λ₯Ό μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄ μˆ˜ν–‰ν•˜λŠ” λŒ€λΆ€λΆ„μ˜ μž‘μ—…μ€ 컴파일 μ‹œκ°„μ— λΈŒλΌμš°μ € μ™ΈλΆ€μ—μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€. λ‹¨μˆœνžˆ "ν΄λΌμ΄μ–ΈνŠΈ" λ˜λŠ” "λΈŒλΌμš°μ €" 도ꡬ가 μ•„λ‹™λ‹ˆλ‹€.

μ„œλ²„ μΈ‘ λ Œλ”λ§μ€ μ •μ˜μ— 따라 "μ°½"이 μ•„λ‹Œ "μ„œλ²„" μΈ‘μ—μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€.

Gatsby의 μ»΄νŒŒμΌμ€ Webpack으둜 이루어지며, webpack은 기본적으둜 μ°½ λ³€μˆ˜λ₯Ό μ—°κ²°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚΄ κ²½ν—˜μ— λ”°λ₯΄λ©΄ μ›ΉνŒ©μ—μ„œ μž‘λ™ν•˜λ„λ‘ ν΄λΌμ΄μ–ΈνŠΈ 라이브러리λ₯Ό μ‘°μ •ν•˜λŠ” 방법은 ν•œ κ°€μ§€λΏμž…λ‹ˆλ‹€. 이둜 인해 Gatsby ꡬ성 μžμ²΄κ°€ "μ°½"에 μ˜μ‘΄ν•˜λŠ” λͺ¨λ“  라이브러리λ₯Ό μˆ˜μ •ν•˜λŠ” κ°„λ‹¨ν•œ 원샷 μ†”λ£¨μ…˜μ„ μ œκ³΅ν•  수 μ—†κ²Œ λ©λ‹ˆλ‹€.

FWIW λ‚˜λŠ” λ„κ΅¬μ˜ μ–΄λŠ 뢀뢄이 λ‹Ήμ‹ μ΄ν•˜κ³  싢은 일을 λ°©ν•΄ν•˜λŠ”μ§€ λ…Όμ˜ν•˜κΈ° μœ„ν•΄ λ„κ΅¬μ˜ 뢀뢄을 λΆ„λ¦¬ν•˜λŠ” 것이 합리적이라고 μƒκ°ν•©λ‹ˆλ‹€.

image

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰