@devskyui/react-video-thumbnail-extractor v0.1.0
@devskyui/react-video-thumbnail-extractor
π λ³Έ README.md νμΌμ νλ‘μ νΈμ κ΄ν μ΅μνμ λ΄μ©μ λ΄κ³ μμ΅λλ€. λ³΄λ€ μμΈν λ΄μ©μ
yarn docs,yarn dev컀맨λλ₯Ό μ€ννμ μ νμΈν΄ μ£ΌμκΈ° λ°λλλ€.
μκ°
@devskyui/react-video-thumbnail-extractorλ React κΈ°λ° νλ‘μ νΈμμ λΉλμ€ νμΌλ‘λΆν° μΈλ€μΌμ μμ½κ² μΆμΆν μ μλ μ»΄ν¬λνΈμ
λλ€. μ΄ λΌμ΄λΈλ¬λ¦¬λ μ¬μ©μ κ²½ν ν₯μμ μν΄ μ€κ³λμμΌλ©°, 컀μ€ν°λ§μ΄μ§ κ°λ₯ν μλ¬ νΈλ€λ§, λ€κ΅μ΄ μ§μ λ©μμ§, λ°μν λμμΈμ μ 곡ν©λλ€. λν κ°λ¨νκ³ μ§κ΄μ μΈ APIλ₯Ό μ 곡ν©λλ€.
βοΈ μ£Όμ κΈ°λ₯
- λΉλμ€ νμΌμμ μ¬λ¬ μΈλ€μΌ μΆμΆ κ°λ₯
- κ°λ³κ³ μ¬μ©μ΄ κ°νΈν ꡬ쑰
- Modalν UIμ μΌλ° νμ΄μ§ λ΄ μ½μ ν UI λͺ¨λ μ 곡
- λ°μν λμμΈ, μ€νμΌ μμ μ΄ μ¬μ΄ Tailwind CSS νμ©
- Blob, Base64 λ κ°μ§ λ°©μμ URL μ 곡
- λ€μν μλν° μ μ½ μμ΄ μΈλΆ μ°λ λ° μ»€μ€ν°λ§μ΄μ§μ΄ μ¬μ΄ μ€κ³
- μλν° μ©λ μΈλ‘λ 무ν νμ₯ κ°λ₯
- κΈλ‘λ² λλΉ μλ¬ νΈλ€λ§ λ©μμ§ μ§μ
- νμ μΉνμ νλ‘μ νΈ
π μ€ν μλ΄
μ΄ νλ‘μ νΈλ Yarn Classic (1.22.0 μ΄μ)μ κΆμ₯ν©λλ€.
yarn, npm, pnpm λͺ¨λ μ¬μ© κ°λ₯νλ©°, Node.js 20.18.0μ κΈ°μ€μΌλ‘ μ μλμμ΅λλ€.
κ° μ»€λ§¨λλ₯Ό μ€ννλ©΄ https νκ²½μμ μ΄λ¦¬λλ‘ mkcertλ₯Ό νμ©νκ³ μμ΅λλ€.
| URL | Description | Command |
|---|---|---|
https://localhost:3032 | μμ λ°λͺ¨ νμ΄μ§ | yarn dev |
https://localhost:3033/react-video-thumbnail-extractor/ | κ°μ΄λ λ¬Έμ | yarn docs |
1. ν¨ν€μ§ μ€μΉ
node -v 컀맨λλ‘ Node.js λ²μ μ νμΈ ν μ€νν΄ μ£ΌμΈμ.
# yarn μ€μΉ
npm install -g yarn
# μ€νμ νμν ν¨ν€μ§ μ€μΉ
yarn install2. λ°λͺ¨ App μ€ν
yarn dev3. κ°μ΄λ λ¬Έμ μ΄λ
κΈ°λ₯ μ μ, Props νμ μ κ΄ν λ΄μ©μ μλ λ¬Έμμμ νμΈν΄ μ£ΌμΈμ.
yarn docs4. λͺ¨λ λΉλ
λ°°ν¬νκΈ° μν νμΌμ λΉλν©λλ€. /src ν΄λ λ΄ νμΌμ κΈ°λ°μΌλ‘ /dist νμΌμ λΉλ μ°μΆλ¬Όμ μ μ₯ν©λλ€. ESM, CommonJSλ₯Ό λͺ¨λ μ§μν©λλ€.
yarn builddist/
βββ index.d.ts
βββ style.css
βββ react-video-thumbnail-extractor.es.js
βββ react-video-thumbnail-extractor.umd.jsπ ν΄λ ꡬ쑰 μλ΄
/docs
Reactμμ λμμ μΈλ€μΌ μΆμΆ λͺ¨λμ μ¬μ©νλ λ°©λ²μ λ΄μ κ°μ΄λ λ¬Έμ μμ€μ λλ€. VitePressλ₯Ό νμ©νμ΅λλ€.
/examples
React νλ‘μ νΈ κ°λ° μ @devskyui/react-video-thumbnail-extractor λͺ¨λμ μ€μΉνλ€λ κ°μ νμ μ°Έκ³ ν μ μλ μμ μ½λμ
λλ€. μμ μ© μλν°μ μλ¬ λ©μμ§ λ
ΈμΆ λΌμ΄λΈλ¬λ¦¬λ‘ React Quill, React Hot Toastλ₯Ό νμ©νμ΅λλ€.
/src
λμμ μΈλ€μΌ μΆμΆ λͺ¨λ @devskyui/react-video-thumbnail-extractor μ μ½μ΄ μμ€μ
λλ€. λΉλμ€ νλ μ΄μ΄, μ€νμΌλ§μ React Player, Tailwind CSS, React Iconsλ₯Ό νμ©νμ΅λλ€.
yarn dev컀맨λλ‘ κ°λ° νκ²½μμ μμ λ₯Ό μ€νν ν, src ν΄λ λ΄ λͺ¨λ μ½μ΄ μμ€λ₯Ό μμ νλ©΄ examples ν΄λμ μμ μ μ¦μ λ°μλ©λλ€.λΉλνμ¬ NPM λλ μ¬λ΄ Artifactoryμ λ°°ν¬ν ν, λ€μμ²λΌ κ°λ°ν λ importνμ¬ μ¬μ©ν μ μμ΅λλ€.
// examples/src/demos/DemoAdvanced.tsx νμΌ μΌλΆ
import type { Thumbnail, ThumbnailValidationResult } from '@devskyui/react-video-thumbnail-extractor';
import { VideoThumbnailExtractorMessages, VideoThumbnailExtractorModal } from '@devskyui/react-video-thumbnail-extractor';
export const DemoAdvanced = () => {
// ... μλ΅
return (
<VideoThumbnailExtractorModal
isOpen={true}
stepTitle={['λμμ μ ννκΈ°', 'μΈλ€μΌ μΆμΆνκΈ°']}
maxFileSize={10}
maxThumbnailLength={4}
allowedExtensions={['.mp4', '.webm']}
confirmButtonLabel="μ μ₯νκΈ°"
cancelButtonLabel="μ·¨μνκΈ°"
onVideoLoaded={handleLoaded}
onThumbnailAdded={handleAddedThumbnail}
onThumbnailRemoved={handleRemovedThumbnail}
onError={handleError}
onSuccess={handleSuccess}
onCancel={() => closeModal()}
/>
)
}μ΅μ’ μμ μΌ: 2024. 12. 11(μ)
Copyright Β© 2024-present Haneul Cho
12 months ago