Storybook: @ storybook / html 5.0.1은 μŠ€ν† λ¦¬λ‘œλ“œμ‹œ 슀크립트λ₯Ό μ‹€ν–‰ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 일λͺ… 'DOMContentLoaded'λŠ” 더 이상 λ„μ›€μ΄λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 03μ›” 15일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: storybookjs/storybook

μ•ˆλ…• μ—¬λŸ¬λΆ„! λ‚΄ 상황은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. 일뢀 ꡬ성 μš”μ†Œμ—λŠ” μžλ°” μŠ€ν¬λ¦½νŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€. preview-head.html μ—μ„œ javascript νŒŒμΌμ„ μ„±κ³΅μ μœΌλ‘œ 호좜 ν•  수 μžˆμ§€λ§Œ μ΄ˆκΈ°ν™”ν•˜λŠ” 것이 λ¬Έμ œμž…λ‹ˆλ‹€.

v5.0.1 μ΄μ „μ—λŠ” λ‹€μŒμ΄μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

document.addEventListener("DOMContentLoaded", function(event) {
        /* The stuff I needed to initialise */
    }, false);

μž‘λ™ν–ˆμ§€λ§Œ μ§€κΈˆμ€ 그렇지 μ•ŠμŠ΅λ‹ˆλ‹€.

κ·€ν•˜μ˜ λ¬Έμ„œμ™€ Stackoverflow 자체λ₯Ό λͺ¨λ‘ μ‚΄νŽ΄ λ³΄μ•˜μ§€λ§Œ 이에 λŒ€ν•œ 해결책을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. μŠ€ν† λ¦¬ 뢁이 κ³ λ €ν•΄μ•Ό ν•  λ¬΄μ–Έκ°€κ°€λ˜μ–΄μ•Ό ν•  것 κ°™μŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 도움을 μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€.

core has workaround question / support

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

@ BennyZ28 해결책은 무엇

ν•΄κ²° 방법이 λ„ˆλ¬΄ λ³΅μž‘ν•©λ‹ˆλ‹€. μŠ€ν† λ¦¬ 뢁이 dom νŠΈλ¦¬μ— μŠ€ν† λ¦¬λ₯Ό μΆ”κ°€ ν•œ ν›„ 방금 호좜 ν•œ μ½œλ°±μ„ μ œκ³΅ν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

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

μ‹ κ²½ 쓰지 마, 해결됨

@ BennyZ28 해결책은 무엇

@shilman 사싀 λ‚˜λŠ” 그것을 ν•΄κ²°ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. ν™”λ©΄ μ•žμ—μ„œ λ„ˆλ¬΄ λ§Žμ€ μ‹œκ°„μ„ 보낸 것 κ°™μ•˜μ§€λ§Œ ν‹€ λ ΈμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ, μ–΄λ–€ 도움이라도 μ—¬μ „νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€!

'νŽ˜μ΄μ§€'κ°€ λ³€κ²½ 될 λ•Œλ§ˆλ‹€ iframe λ‚΄μ˜ 이전 div#root μš”μ†Œκ°€ 제거되고 μƒˆ μš”μ†Œκ°€ μΆ”κ°€λ©λ‹ˆλ‹€. 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜κ³  MutationObserver 와 κ²°ν•©ν•˜μ—¬ νŽ˜μ΄μ§€κ°€ λ³€κ²½ 될 λ•Œλ§ˆλ‹€ ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

preview-head.html λ‹€μŒμ„ μΆ”κ°€ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

function runOnInit() {
  console.log('Init')
}
function runOnPageChange() {
  console.log('Page has changed!')
}
document.addEventListener('DOMContentLoaded', function() {
  runOnInit();
  const callback = function(mutationsList) {
    for (let i = 0, len = mutationsList.length; i < len; i++) {
      if (mutationsList[i].type == 'childList') {
        runOnPageChange();
        break;
      }
    }
  };

  const observer = new MutationObserver(callback);
  const config = { childList: true, subtree: false };
  observer.observe(document.getElementById('root'), config);
}, false);

MutationObserver μž‘λ™ 방식을 μ΄ν•΄ν•˜λ €λ©΄ MDN μ„€λͺ…μ„œ λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

πŸ™

@ BennyZ28 해결책은 무엇

ν•΄κ²° 방법이 λ„ˆλ¬΄ λ³΅μž‘ν•©λ‹ˆλ‹€. μŠ€ν† λ¦¬ 뢁이 dom νŠΈλ¦¬μ— μŠ€ν† λ¦¬λ₯Ό μΆ”κ°€ ν•œ ν›„ 방금 호좜 ν•œ μ½œλ°±μ„ μ œκ³΅ν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

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