<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JavaScript on Kelly Dev</title><link>https://kelly-chui.github.io/tags/javascript/</link><description>Recent content in JavaScript on Kelly Dev</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 12 Jul 2026 21:21:18 +0900</lastBuildDate><atom:link href="https://kelly-chui.github.io/tags/javascript/index.xml" rel="self" type="application/rss+xml"/><item><title>TIL. Jul 12, 2026</title><link>https://kelly-chui.github.io/til/2026/til-2026-07-12/</link><pubDate>Sun, 12 Jul 2026 21:21:18 +0900</pubDate><guid>https://kelly-chui.github.io/til/2026/til-2026-07-12/</guid><description>&lt;h2 id="오늘-한-내용"&gt;오늘 한 내용&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo 블로그에서 Mermaid를 외부 CDN 없이 렌더링하도록 변경&lt;/li&gt;
&lt;li&gt;Mermaid가 필요한 페이지에서만 스크립트를 로드하도록 최적화&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hugo --minify&lt;/code&gt;로 빌드 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="배운-내용"&gt;배운 내용&lt;/h2&gt;
&lt;p&gt;Mermaid 코드 블록은 &lt;code&gt;layouts/_markup/render-codeblock-mermaid.html&lt;/code&gt;에서 &lt;code&gt;&amp;lt;pre class=&amp;quot;mermaid&amp;quot;&amp;gt;&lt;/code&gt;로 변환하고, &lt;code&gt;layouts/_partials/extend_footer.html&lt;/code&gt;에서 Mermaid가 포함된 페이지에만 스크립트를 삽입하도록 구성했다.&lt;/p&gt;
&lt;p&gt;처음에는 ESM 파일 하나만 &lt;code&gt;static/&lt;/code&gt;에 복사했지만, 해당 파일이 내부 chunk를 추가로 참조하는 구조라 렌더링이 깨졌다. 브라우저가 다이어그램을 SVG로 바꾸지 못하고 원문 텍스트처럼 보여서, 의존성이 단순한 &lt;code&gt;mermaid.min.js&lt;/code&gt;로 교체했다.&lt;/p&gt;
&lt;p&gt;외부 CDN을 제거하는 작업도 단순히 파일을 내려받는 것으로 끝나지 않았다. 번들 파일의 의존성과 실행 방식까지 확인해야 실제 정적 사이트에서 안정적으로 동작한다는 것을 배웠다.&lt;/p&gt;</description></item><item><title>Node. Node.js 소개</title><link>https://kelly-chui.github.io/posts/node-nodejs-introduction/</link><pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate><guid>https://kelly-chui.github.io/posts/node-nodejs-introduction/</guid><description>&lt;p&gt;Node.js는 브라우저 밖에서도 JavaScript를 실행할 수 있게 해주는 런타임이다.&lt;/p&gt;
&lt;h2 id="구조"&gt;구조&lt;/h2&gt;
&lt;p&gt;Node.js를 설치하면 JavaScript 런타임 하나만 설치되는 것이 아닌, 프로젝트 관리, 외부 라이브러리, 개발 도구를 실행하기 위한 여러 구성 요소가 함께 설치된다.&lt;/p&gt;
&lt;h3 id="node"&gt;Node&lt;/h3&gt;
&lt;p&gt;JavaScript 실행 환경이다. 브라우저 외부에서 JS를 실행할 수 있게 해준다.&lt;/p&gt;
&lt;p&gt;간단한 파일은 다음처럼 직접 실행할 수도 있다. (다른 언어들과 비슷하다.)&lt;/p&gt;
&lt;div class="code-theme-github"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-zsh" data-lang="zsh"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;node &amp;lt;FILE-NAME&amp;gt;.js&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id="npmnode-package-manager"&gt;npm(Node Package Manager)&lt;/h3&gt;
&lt;p&gt;Node 프로젝트의 패키지 관리자이다. 외부 라이브러리를 설치하고, 제거하고, 프로젝트의 의존성을 관리한다.&lt;/p&gt;
&lt;p&gt;외부 라이브러리를 설치할 때는 다음 명령을 사용한다.&lt;/p&gt;</description></item></channel></rss>