modern-wasm-starter

(β˜… 256)

πŸ›Έ Run C++ code on web and create blazingly fast websites! A starter template to easily create WebAssembly packages using type-safe C++ bindings with automatic TypeScript declarations.

  • .clang-format
  • .gitignore
  • .npmignore
  • jestconfig.json
  • LICENSE
  • package.json
  • README.md
  • tsconfig.json
  • yarn.lock

# μ„€μΉ˜ κ°€μ΄λ“œ

1. μ½”λ“œ λ‚΄λ €λ°›κΈ°
git clone https://github.com/TheLartians/modern-wasm-starter

κΉƒν—ˆλΈŒμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œ 전체λ₯Ό λ‚΄ μ»΄ν“¨ν„°λ‘œ λ‚΄λ €λ°›μŠ΅λ‹ˆλ‹€.

cd modern-wasm-starter

방금 내렀받은 ν”„λ‘œμ νŠΈ 폴더 μ•ˆμœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

2. CMake

보톡 μΆ”μ²œ
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • CMake λΉŒλ“œ 섀정을 μƒμ„±ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.
  • C/C++ 컴파일러 WindowsλŠ” Visual Studio(Community 무료), macOSλŠ” Xcode Command Line Tools, LinuxλŠ” gcc/g++ νŒ¨ν‚€μ§€κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
cd wasm

이 ν”„λ‘œμ νŠΈμ˜ κ΄€λ ¨ 파일이 ν•˜μœ„ 폴더 μ•ˆμ— μžˆμ–΄μ„œ, λ¨Όμ € κ·Έ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

mkdir build && cd build

λΉŒλ“œ 결과물을 담을 폴더λ₯Ό λ§Œλ“€κ³  κ·Έ μ•ˆμœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

cmake ..

μ†ŒμŠ€μ½”λ“œλ₯Ό 뢄석해 λΉŒλ“œ μ„€μ • νŒŒμΌμ„ μƒμ„±ν•©λ‹ˆλ‹€ (build 폴더 μ•ˆμ—μ„œ μ‹€ν–‰ν•΄μ•Ό 함).

make

μƒμ„±λœ λΉŒλ“œ 섀정을 λ°”νƒ•μœΌλ‘œ μ‹€μ œ μ»΄νŒŒμΌμ„ μ§„ν–‰ν•΄ μ‹€ν–‰ νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€.

βœ… build 폴더 μ•ˆμ— μ‹€ν–‰ 파일이 μƒμ„±λλŠ”μ§€ ν™•μΈν•˜κ³ , 직접 μ‹€ν–‰ν•΄λ³΄μ„Έμš” (예: ./build/앱이름).

3. Node.js

쉬움
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Node.js npm λͺ…λ Ήμ–΄λ₯Ό μ“°λ €λ©΄ Node.jsκ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. LTS(μž₯기지원) 버전을 μΆ”μ²œν•©λ‹ˆλ‹€.
npm install

package.json에 λͺ…μ‹œλœ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ λ‚΄λ €λ°›μ•„ μ„€μΉ˜ν•©λ‹ˆλ‹€.

npm test

이 λͺ…λ Ήμ–΄λ₯Ό 터미널에 κ·ΈλŒ€λ‘œ μž…λ ₯ν•΄ μ‹€ν–‰ν•˜μ„Έμš”.

npm start

개발/μ‹€ν–‰ μ„œλ²„λ₯Ό μΌ­λ‹ˆλ‹€.

npm run fix:style

이 λͺ…λ Ήμ–΄λ₯Ό 터미널에 κ·ΈλŒ€λ‘œ μž…λ ₯ν•΄ μ‹€ν–‰ν•˜μ„Έμš”.

βœ… λͺ…λ Ήμ–΄ μ‹€ν–‰ ν›„ 터미널에 λ‚˜νƒ€λ‚˜λŠ” μ£Όμ†Œ(보톡 http://localhost:3000 ν˜•νƒœ)λ₯Ό λΈŒλΌμš°μ €μ—μ„œ μ—΄μ–΄λ³΄μ„Έμš”.

이 레포의 README에 적힌 μ‹€μ œ λͺ…λ Ήμ–΄λ₯Ό κ·ΈλŒ€λ‘œ κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.

// repository documentation