Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Nuxt 3でElement Plusを使ってみた
Search
Munieru
May 18, 2023
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Nuxt 3でElement Plusを使ってみた
https://vuejs-meetup.connpass.com/event/279254/
Munieru
May 18, 2023
More Decks by Munieru
See All by Munieru
エアコン本体とリモコンの温度設定にズレが生じる問題〜プログラムによる再現〜 / 2018-08-29
munieru_jp
0
2.5k
エアコン本体とリモコンの温度設定にズレが生じる問題〜プログラムによる再現〜 / 2018-08-09
munieru_jp
2
5k
JavaScriptフレームワークVue.jsの紹介 / 2018-05-11
munieru_jp
0
5.4k
勉強のすすめ / 2018-04-13
munieru_jp
0
5k
こんなスライドはやめろ!プレゼン資料のアンチパターン / 2018-02-18
munieru_jp
0
15k
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Git: the NoSQL Database
bkeepers
PRO
432
67k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Faster Mobile Websites
deanohume
310
32k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Transcript
2023-05-18 ムニエル @munieru_jp Nuxt 3で Element Plusを使ってみた © Munieru
2 © Munieru
#あの⽇のツイートを表⽰するやつ 3 https://anohi-no-tweet.munieru.app/ © Munieru
主な使⽤技術 • Nuxt 3:フロントエンドフレームワーク • Element Plus:UIフレームワーク • Vitest:テストフレームワーク •
nuxt-icon:Iconifyのアイコンを使えるようにするやつ • Vite PWA:PWA化するやつ • Pinia:いわゆるストア • ESLint:JavaScript/TypeScriptの静的解析するやつ • Markuplint:HTMLの静的解析するやつ • date-fns:⽇付操作を楽にするやつ 4 © Munieru
Element Plus 5 https://element-plus.org/ © Munieru
Element Plusのいいところ 6 • レスポンシブ対応 • ダークモード対応 • コンポーネントが豊富 •
i18nサポート(⽇本語対応) © Munieru
Element Plusのイマイチなところ 7 © Munieru
ダイアログの横幅が⼤きすぎる 8 © Munieru
ダイアログの横幅が⼤きすぎる 9 © Munieru .app-dialog { &:not(.is-fullscreen) { width: 600px;
max-width: calc(100vw - 8px * 2); } }
ダイアログの横幅が⼤きすぎる 10 © Munieru
アイコンのリンク⽤のコンポーネントがない 11 © Munieru
アイコンのリンク⽤のコンポーネントがない 12 © Munieru <script lang="ts" setup> const props =
defineProps<{ external?: boolean href: string icon: string title?: string }>() const target = props.external ? '_blank' : undefined const rel = props.external ? 'noreferrer noopener' : undefined const iconSize = '24px' </script> <template> <a class="app-icon-link" :title="title" :href="href" :target="target" :rel="rel" > <Icon :name="icon" :size="iconSize" /> </a> </template> <style lang="scss" scoped> $size: 48px; $icon-size: v-bind(iconSize); .app-icon-link { border-radius: 50%; color: unset; display: inline-block; padding: calc(($size - $icon-size) / 2); text-decoration: none; } </style>
アイコンのリンク⽤のコンポーネントがない <AppIconLink icon="mdi:twitter" href="https://twitter.com/munieru_jp" title="Twitter" external /> 13 © Munieru
Element Plusを使った所感 • マテリアルデザインではないUIフレームワークの選択肢としてはアリ • 細かい部分はCSSで調整する必要がある • 不⾜しているコンポーネントを⾃作する必要がある 14 ©
Munieru