๐Ÿ‘ฉ‍๐Ÿ’ป/Vue 11

[fontawesome] Argument of type 'IconPack' is not assignable to parameter of type 'IconDefinitionOrPack'

์ด์Šˆ ์ž‘์—…ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ github pages๋กœ deployํ•˜๋ ค๊ณ  npm install --save gh-pages์„ ์‹คํ–‰์‹œํ‚ค๊ณ  ๋‚˜์„œ npm audit์„ ํ•ด๋ณด๋‹ˆ, ๋ช‡ ๊ฐ€์ง€ ํŒจํ‚ค์ง€๋“ค์ด ์‚ฌ๋ผ์ ธ์„œ ๋‹ค์‹œ npm install์„ ํ•˜๊ณ  ๋‚˜์ž ์œ„ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ํ•ด๊ฒฐ github.com/FortAwesome/angular-fontawesome/issues/125 Argument of type 'IconPack' is not assignable to parameter of type 'IconDefinitionOrPack' · Issue #125 · FortAwesome/angular-f Describe the problem Trying to import fab icons to angular project, but c..

[Vue-todo-list] #4 chart.js๋กœ todo data ์‹œ๊ฐํ™”ํ•˜๊ธฐ (2) - Pie Chart

2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #3 chart.js๋กœ todo data ์‹œ๊ฐํ™”ํ•˜๊ธฐ (1) - Line Chart 2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #2 ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์žˆ๋Š” Todo List ๋งŒ๋“ค๊ธฐ 2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #1 Date ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋‹ฌ๋ ฅ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ/์ง€๋‚œ ๋‚ ์งœ, ์˜ค๋Š˜ ๋‚ ์งœ ๊ตฌ๋ณ„์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ๋ง Pie chart๋Š” ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ค˜๋˜ Line chart์— ๋น„ํ•ด ์—„์ฒญ ์—„์ฒญ ์‰ฌ์šด ํŽธ์— ์†ํ•ด ํฌ๊ฒŒ ๊ณ ๋ฏผํ•˜์ง€ ์•Š๊ณ  import ํ•ด์ค€ ๋’ค ๋ฐ”๋กœ ์ผ๋‹ค. import { Vue } from "vue-property-decorator"; import { ..

[Vue-todo-list] #3 chart.js๋กœ todo data ์‹œ๊ฐํ™”ํ•˜๊ธฐ (1) - Line Chart

2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #2 ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์žˆ๋Š” Todo List ๋งŒ๋“ค๊ธฐ 2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #1 Date ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋‹ฌ๋ ฅ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ/์ง€๋‚œ ๋‚ ์งœ, ์˜ค๋Š˜ ๋‚ ์งœ ๊ตฌ๋ณ„์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ๋ง todolist ์˜ˆ์ œ์˜ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„๋Š” chart.js ์—ฐ์Šต์„ ์œ„ํ•ด์„œ Pie chart์™€ line chart ๋‘ ๊ฐœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” Daily Report๋กœ ๊พธ๋ช„๋‹ค. Line chart์˜ ๊ฒฝ์šฐ localStorage์— ์ €์žฅ๋˜๋Š” todo ๊ฐ์ฒด์˜ createdAt Date ๊ฐ์ฒด์™€ ์™„๋ฃŒ๊ฐ€ ๋  ๋•Œ ์ƒ์„ฑ๋˜๋Š” completedAt Date ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์•Œ๋งž์€ ๋‚ ์งœ์— ํ•ด๋‹นํ•˜๋Š” todo ๊ฐ์ฒด์˜ length์— ๋”ฐ๋ผ ๋‘ ๊ฐœ์˜ L..

[Vue-todo-list] #2 ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์žˆ๋Š” Todo List ๋งŒ๋“ค๊ธฐ

2021/02/08 - [๐Ÿ‘ฉ‍๐Ÿ’ป/Vue.js] - [Vue-todo-list] #1 Date ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋‹ฌ๋ ฅ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ/์ง€๋‚œ ๋‚ ์งœ, ์˜ค๋Š˜ ๋‚ ์งœ ๊ตฌ๋ณ„์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ๋ง [Vue-todo-list] #1 Date ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋‹ฌ๋ ฅ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ/์ง€๋‚œ ๋‚ ์งœ, ์˜ค๋Š˜ ๋‚ ์งœ ๊ตฌ๋ณ„์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ ๋งจ ์ฒ˜์Œ Vue๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉฐ ๋งŒ๋“ค์—ˆ๋˜ To do list ์˜ˆ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์žŠ๊ณ  ์ง€๋‚ด๋‹ค๊ฐ€ ๋ช‡ ์ฃผ ์ „์— ์ด ์˜ˆ์ œ ์œ„์— TypeScript๋‚˜ CSS framework์ธ Tailwinds ๋“ฑ์„ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ์ด๊ฒƒ์ €๊ฒƒ ์ƒ๊ฐ์ด ๋‚  uiyoji-journal.tistory.com ์œ„์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•˜๊ฒŒ to do ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ํŽธ์ง‘ํ•˜๊ณ , ์™„๋ฃŒํ•˜๋Š” ๊ธฐ๋Šฅ์—์„œ, ์•„๋ž˜์˜ ์นดํ…Œ๊ณ ๋ฆฌ ํŽธ์ง‘ ๊ธฐ๋Šฅ์„ ๋„ฃ์—ˆ๋‹ค. ์นดํ…Œ๊ณ ..

[Vue-todo-list] #1 Date ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋‹ฌ๋ ฅ ์ˆซ์ž ๊ตฌํ•˜๊ธฐ/์ง€๋‚œ ๋‚ ์งœ, ์˜ค๋Š˜ ๋‚ ์งœ ๊ตฌ๋ณ„์„ ์œ„ํ•œ CSS ์Šคํƒ€์ผ๋ง

๋งจ ์ฒ˜์Œ Vue๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉฐ ๋งŒ๋“ค์—ˆ๋˜ To do list ์˜ˆ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์žŠ๊ณ  ์ง€๋‚ด๋‹ค๊ฐ€ ๋ช‡ ์ฃผ ์ „์— ์ด ์˜ˆ์ œ ์œ„์— TypeScript๋‚˜ CSS framework์ธ Tailwinds ๋“ฑ์„ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ ์ด๊ฒƒ์ €๊ฒƒ ์ƒ๊ฐ์ด ๋‚  ๋•Œ๋งˆ๋‹ค ์‹คํ—˜ํ•˜๋ฉฐ ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์„ ๋ถ™์—ฌ๋‚˜๊ฐ”๋‹ค. ๊ทธ๋Ÿฌ๋‹ค Home ํ™”๋ฉด์ด ๋น„์–ด์„œ ๋ญ˜ ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ JavaScript๋กœ Date ๊ฐ์ฒด๋ฅผ ๋งŽ์ด ์•ˆ ๋‹ค๋ค„๋ด์„œ ์ด ๊ธฐํšŒ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋Œ€์‹  ์ง์ ‘ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ์ผ๋‹จ ๋‹ฌ๋ ฅ์ฒ˜๋Ÿผ ์ด์ „ ๋‚ ์งœ๋กœ ๋Œ์•„๊ฐ€๊ธฐ, ์ž‘๋…„์ด๋‚˜ ๋‚ด๋…„ ๋“ฑ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ์˜ค๋Š˜ ๋‚ ์งœ๋กœ ๋˜๋Œ์•„์˜ค๋Š” ๋ฒ„ํŠผ๊ณผ ์˜ฌํ•ด์˜ ํŠน์ • ์›”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ๋„ฃ์—ˆ๋‹ค. ๋‹ฌ๋ ฅ์— ์˜ค๋Š˜ ๋‚ ์งœ๋ฅผ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋งˆํฌ๊ฐ€ ๋ถ™๊ณ , to do list์™€ ์—ฐ๊ณ„๋œ ๋‹ฌ๋ ฅ์ด๋‹ˆ ํ•ด๋‹น..

[Vue.js/TypeScript] Property "$anime" does not exist on type "Header"

๋ฌธ์ œ ์ƒํ™ฉ SVG ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—ฐ์Šต์„ ์œ„ํ•ด์„œ TypeScript๋ฅผ ์ ์šฉ ์ค‘์ธ Vue.js์— anime.js๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ๋‹ฌ ๋ชจ์–‘ SVG ๊ทธ๋ž˜ํ”ฝ์„ ์ด์šฉํ•ด ํด๋ฆญ ์‹œ ๊ฐ€๋ฒผ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ž๊พธ ์•„๋ž˜ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. Property '$anime' does not exist on type 'CombinedVueInstance

Vue ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ Event prevent : .stop modifier

{{ todo.title }} todo-list ์ปจํ…Œ์ด๋„ˆ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ๊ฐ€ ์žˆ๊ณ , ์•„๋ž˜์— todo-list item๋“ค์ด v-for ๋ฅผ ๋„๋Š” ํ˜•ํƒœ์ด๋‹ค. ํ•˜๋‚˜์˜ todo ์•„์ดํ…œ์€ todo ํƒ€์ดํ‹€ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ์™€ ๋ฒ„ํŠผ๋ถ€ ์—ญํ• ์„ ํ•˜๋Š” ํƒœ๊ทธ ๋‘˜๋กœ ๋˜ ๋‚˜๋‰˜๋Š”๋ฐ, ์ด๋•Œ ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์ธ for ๋ฌธ์˜ ์— checkDone()์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ๊ฑธ๋ ค ์žˆ๋‹ค. ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ํด๋ฆญ ์‹œ ์ƒํƒœ๊ฐ’์„ ํ† ๊ธ€ํ•ด์ฃผ์–ด ํ•˜์œ„ ํƒœ๊ทธ์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ™์ด๊ณ  ๋–ผ์–ด์ฃผ๋Š” ์—ญํ• ์„ ๋„์™€์ฃผ๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„ํŠผ ๋ถ€๋Š” ๋‹ค๋ฅธ ์ด๋ฒคํŠธ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์˜ event๋ฅผ prevent ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ์—๋Š” ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ์˜ ์ด๋ฒคํŠธ๋ฅผ fireํ•˜์ง€ ๋ง์•„์•ผ ํ• , ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ํ•จ์ˆ˜์— .stop modifier๋ฅผ ๋ถ™์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†๋ณผ ์ˆ˜ ์žˆ๋‹ค..

[fontawesome] vue.js์—์„œ free-brands-svg-icons ์“ฐ๊ธฐ

vue ํ”„๋กœ์ ํŠธ์—์„œ font-awesome์„ ์“ฐ๊ธฐ. $ yarn add -D @fortawesome/fontawesome-svg-core $ yarn add -D @fortawesome/free-solid-svg-icons (optional) $ yarn add -D @fortawesome/free-brands-svg-icons (optional) $ yarn add -D @fortawesome/vue-fontawesome optional์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ, ๋„ค ๋ฒˆ์งธ๋Š” ํ•„์ˆ˜๋กœ ๋‹ค์šด๋ฐ›์•„์ค€๋‹ค. ๋‚˜๋Š” ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค ๋•Œ ๋“ค์–ด๊ฐˆ github, google icon์„ ์“ฐ๊ธฐ ์œ„ํ•ด ์„ธ ๋ฒˆ์งธ free-brands-svg-icons๋ฅผ ๋จผ์ € ๋ฐ›์•„์ฃผ์—ˆ๋‹ค. ๋ฐ›๊ณ ์ž ํ•˜๋Š” ์•„์ด์ฝ˜์ด ์–ด๋–ค ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š”์ง€๋Š”, sol..

[note] Vue.js์˜ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Vuex์˜ ํ•ต์‹ฌ๋“ค (1) state & getters

์ด์ „ ํ”„๋กœ์ ํŠธ์—์„œ Vue.js์—์„œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์„ ๋‹ค๋ฃฐ ๋•Œ event bus ๋“ฑ์œผ๋กœ๋งŒ ๊ด€๋ฆฌํ–ˆ์„ ๋•Œ ์ปดํฌ๋„ŒํŠธ๋ผ๋ฆฌ์˜ ๊ด€๊ณ„์„ฑ์„ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค. ์‚ฌ์ด์ฆˆ๊ฐ€ ํฐ ์•ฑ์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” ๊ทธ๋ž˜์„œ Vuex๋ฅผ ๋งŽ์ด ์“ฐ๋Š”๋ฐ, ์ฒ˜์Œ Vuex๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๋งŽ์ด ํ—ท๊ฐˆ๋ ธ์–ด์„œ, ํ•œ ๋ฒˆ ์ •๋ฆฌ๋ฅผ ์ญ‰ ํ•ด๋ดค๋‹ค. Vuex๋Š” ํ•ต์‹ฌ์ธ state, mutations, actions๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒŒ ์ค‘์š”ํ•œ๋ฐ, state๋Š” vuex๋ผ๋Š” ๊ณตํ†ต ์ค‘์•™ ์ €์žฅ์†Œ๊ฐ€ ๊ฐ€์ง€๋Š”, ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ณต์œ ํ•˜๋Š” data๋‹ค. ์ด state๋ผ๋Š” data๋Š” ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ ๊ฐ„์— ๊ณต์œ ๋˜๋Š” ์†์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— this.$store.state.sampleState ์‹์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ, ์ปดํฌ๋„ŒํŠธ๋ผ๋ฆฌ ๋ชจ๋‘ ๊ณต์œ ๊ฐ€ ๋œ๋‹ค๋Š” ์†์„ฑ ๋•Œ๋ฌธ์—, ์ง์ ‘์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ์ ‘๊ทผํ•ด ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๋Š”..

[โš Error] core-js/modules/es.object.to-string in ./src/router/index.js

์งง์€ ์ธํ„ด ๊ธฐ๊ฐ„์„ ๋งˆ์น˜๊ณ  ๋งˆ๋ฌด๋ฆฌ ํ•˜๋Š” ์ฐจ์›์—์„œ 12์›” ๋ง๊นŒ์ง€๋Š” ๋ฐฐ์šด ๊ฑธ ๋ฐ”ํƒ•์œผ๋กœ ๋ณต์Šตํ•˜๋ ค๊ณ  Vue + Element UI๋ฅผ ๊ธฐ๋ณธ ๋ผˆ๋Œ€๋กœ ํ•˜๋Š” ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค. vue create [project-name] ์„ ์‹คํ–‰ํ•ด ๋น ๋ฅด๊ฒŒ ๊ธฐ๋ณธ ๋ทฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ์ด๊ณณ์—์„œ Element UI๋ฅผ ์„ค์น˜ํ•œ๋‹ค. npm i element-ui -S ๋ฌธ์ œ๋Š” ์ด๋ ‡๊ฒŒ ์„ค์น˜ํ•˜๊ณ  ๋‚˜๋ฉด core-js ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด ์ปดํŒŒ์ผ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š๋Š”๋ฐ, ์ด๊ฒƒ์ €๊ฒƒ ์„ค์น˜ํ•ด๋ณด๋‹ค๊ฐ€ ๊ฒฐ๊ตญ์—๋Š” ์ด๊ณณ์„ ์ฐธ๊ณ ํ•ด์„œ ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. yarn add core-js // or npm install core-js