Vue.js / Nuxt.js

āļāļēāļĢāļ—āļ”āļŠāļ­āļš Vue

Vitest, Vue Test Utils, āļāļēāļĢāļ—āļ”āļŠāļ­āļš component, mocking, snapshot testing, E2E āļ”āđ‰āļ§āļĒ Playwright

20 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

Vitest āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Vitest āđ€āļ›āđ‡āļ™āđ€āļŸāļĢāļĄāđ€āļ§āļīāļĢāđŒāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ (unit testing) āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆāļ—āļĩāđˆāļ­āļ­āļāđāļšāļšāļĄāļēāļŠāļģāļŦāļĢāļąāļšāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Vite āđ‚āļ”āļĒāđ€āļ‰āļžāļēāļ° āļĄāļąāļ™āļĄāļ­āļšāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļšāđ‚āļĄāļ”āļđāļĨ ESM āđāļšāļš native āļāļēāļĢāļĢāļ­āļ‡āļĢāļąāļš TypeScript āđƒāļ™āļ•āļąāļ§ āđāļĨāļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ—āļĩāđˆāļĢāļ§āļ”āđ€āļĢāđ‡āļ§āļĄāļēāļāļ”āđ‰āļ§āļĒāļāļēāļĢāļœāļŠāļēāļ™āļĢāļ§āļĄāļ­āļĒāđˆāļēāļ‡āļĨāļķāļāļ‹āļķāđ‰āļ‡āļāļąāļš Vite Vitest āļĄāļĩ API āļ—āļĩāđˆāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļāļąāļš Jest āļ—āļģāđƒāļŦāđ‰āļ‡āđˆāļēāļĒāļ•āđˆāļ­āļāļēāļĢāļĒāđ‰āļēāļĒāđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđ€āļ”āļīāļĄāļžāļĢāđ‰āļ­āļĄāļāļąāļšāđ„āļ”āđ‰āļĢāļąāļšāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāđ€āļŦāļ™āļ·āļ­āļāļ§āđˆāļē

2

Vue Test Utils āļĄāļĩāļšāļ—āļšāļēāļ—āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Vue Test Utils āļ„āļ·āļ­āđ„āļĨāļšāļĢāļēāļĢāļĩāļ—āļ”āļŠāļ­āļšāļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāļŠāļģāļŦāļĢāļąāļš Vue.js āļ—āļĩāđˆāļĄāļ­āļšāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļģāļŦāļĢāļąāļš mount āđāļĨāļ°āđ‚āļ•āđ‰āļ•āļ­āļšāļāļąāļš component Vue āđƒāļ™āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄāļāļēāļĢāļ—āļ”āļŠāļ­āļš āļĄāļąāļ™āđ€āļ›āļīāļ”āđ€āļœāļĒāđ€āļĄāļ˜āļ­āļ”āļ­āļĒāđˆāļēāļ‡ mount āđāļĨāļ° shallowMount āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļĢāļ™āđ€āļ”āļ­āļĢāđŒ component āļĢāļ§āļĄāļ–āļķāļ‡ API āļŠāļģāļŦāļĢāļąāļšāļˆāļģāļĨāļ­āļ‡āļāļēāļĢāđ‚āļ•āđ‰āļ•āļ­āļšāļ‚āļ­āļ‡āļœāļđāđ‰āđƒāļŠāđ‰ āļ•āļĢāļ§āļˆāļŠāļ­āļš props āļˆāļąāļš event āļ—āļĩāđˆāļ–āļđāļ emit āđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš DOM āļ—āļĩāđˆāđ€āļĢāļ™āđ€āļ”āļ­āļĢāđŒ āđ„āļĨāļšāļĢāļēāļĢāļĩāļ™āļĩāđ‰āļˆāļģāđ€āļ›āđ‡āļ™āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš component Vue āđāļšāļšāđāļĒāļāļŠāđˆāļ§āļ™

3

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŦāļĨāļąāļāļĢāļ°āļŦāļ§āđˆāļēāļ‡ mount āđāļĨāļ° shallowMount āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

mount āđ€āļĢāļ™āđ€āļ”āļ­āļĢāđŒ component āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļžāļĢāđ‰āļ­āļĄāļāļąāļš component āļĨāļđāļāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđāļšāļšāđ€āļĢāļĩāļĒāļāļ‹āđ‰āļģ āļŠāļĢāđ‰āļēāļ‡āđ€āļ›āđ‡āļ™ DOM tree āļ—āļĩāđˆāļŠāļĄāļšāļđāļĢāļ“āđŒ āļŠāđˆāļ§āļ™ shallowMount āđ€āļĢāļ™āđ€āļ”āļ­āļĢāđŒāđ€āļ‰āļžāļēāļ° component āļĢāļ°āļ”āļąāļšāļšāļ™āļŠāļļāļ”āđ‚āļ”āļĒāđāļ—āļ™āļ—āļĩāđˆ component āļĨāļđāļāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ”āđ‰āļ§āļĒ stub āļ§āđˆāļēāļ‡āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđƒāļŠāđ‰ shallowMount āļŠāļģāļŦāļĢāļąāļš unit test āļ—āļĩāđˆāđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”āļ‹āļķāđˆāļ‡āļāļēāļĢāđāļĒāļāļŠāđˆāļ§āļ™āđ€āļ›āđ‡āļ™āļŠāļīāđˆāļ‡āļŠāļģāļ„āļąāļāļ—āļĩāđˆāļŠāļļāļ” āđāļĨāļ°āđƒāļŠāđ‰ mount āļŠāļģāļŦāļĢāļąāļš integration test āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļāļēāļĢāđ‚āļ•āđ‰āļ•āļ­āļšāļĢāļ°āļŦāļ§āđˆāļēāļ‡ component āđāļĄāđˆ-āļĨāļđāļ

4

āļˆāļ°āļāļģāļŦāļ™āļ”āļ„āđˆāļē Vitest āđƒāļ™āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ Vue/Nuxt āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āđ€āļĄāļ˜āļ­āļ”āđƒāļ”āļ‚āļ­āļ‡ wrapper āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āđ‰āļ™āļŦāļēāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāđ‚āļ”āļĒāđƒāļŠāđ‰ CSS selector?

+17 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Vue.js / Nuxt.js āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ JavaScript

Junior
20 āļ„āļģāļ–āļēāļĄ

JavaScript āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ (ES6+)

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Vue

Junior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒ Vue

Junior
20 āļ„āļģāļ–āļēāļĄ

Vue Router

Junior
18 āļ„āļģāļ–āļēāļĄ

Pinia State Management

Junior
20 āļ„āļģāļ–āļēāļĄ

Vuex (Legacy)

Mid-Level
15 āļ„āļģāļ–āļēāļĄ

Composition API

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

āļĢāļ°āļšāļš Reactivity āļ‚āļ­āļ‡ Vue

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Nuxt

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ (Data Fetching) āđƒāļ™ Nuxt

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

SSR āđāļĨāļ° SSG āđƒāļ™ Nuxt

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Server Routes āļ‚āļ­āļ‡ Nuxt

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āđ‚āļĄāļ”āļđāļĨ Nuxt

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Composables āđƒāļ™ Vue

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļŸāļ­āļĢāđŒāļĄāđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš Vue

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŠāļ–āļēāļ™āļ°āđƒāļ™ Nuxt

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢ Deploy Nuxt āđāļĨāļ° CI/CD

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‚āļ­āļ‡ Vue

Senior
22 āļ„āļģāļ–āļēāļĄ

āļĢāļđāļ›āđāļšāļšāļ‚āļąāđ‰āļ™āļŠāļđāļ‡āļ‚āļ­āļ‡ Vue

Senior
24 āļ„āļģāļ–āļēāļĄ

TypeScript āļāļąāļš Vue

Senior
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™ Nuxt

Senior
20 āļ„āļģāļ–āļēāļĄ

SEO āļ”āđ‰āļ§āļĒ Nuxt

Senior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļģ Internationalization āđƒāļ™ Nuxt

Senior
18 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Vue

Senior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ Nuxt

Senior
20 āļ„āļģāļ–āļēāļĄ

āļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ Vue

Senior
18 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāđ‰āļēāļĒ Vue 2→3 & Nuxt 2→3

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Vue.js / Nuxt.js āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ