Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
本番環境にVue.jsを使った話 / Use Vue.js at production
Search
Hiromi Kimura
August 02, 2017
1.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
本番環境にVue.jsを使った話 / Use Vue.js at production
Hiromi Kimura
August 02, 2017
More Decks by Hiromi Kimura
See All by Hiromi Kimura
マネーフォワード Pay for Businessのフロントエンド / Money Forward Pay for Business Frontend
kimromi
0
910
マネーフォワードクラウド経費でのフロントエンドの取り組み / moneyforward-expense-frontend
kimromi
4
1.1k
エンジニアにとってのアウトプットとはなにか考えた / what-is-output
kimromi
3
1.2k
TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript
kimromi
0
680
ムームードメインのJavaScript環境を整えた話 / prepare muumuu-domain's javascript
kimromi
1
610
ぼくがかんがえたさいきょうのぷるりくえすと / saikyo-no-pull-request
kimromi
7
110k
Vue.js on Rails / vue-js-on-rails
kimromi
7
5k
how about Marp?
kimromi
0
160
engineer-guideline
kimromi
0
1.1k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Facilitating Awesome Meetings
lara
57
7k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
For a Future-Friendly Web
brad_frost
183
10k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
ଜւ(.01FQBCP *OD 'VLVPLBQIQ ຊ൪ڥʹ7VFKTΛͬͨ
(.0ϖύϘϜʔϜʔυϝΠϯΤϯδχΞ ଜւ!LJNSPNJ ࣇͷύύʢࡀͷஉͷࢠʣ IUUQLJNSPNJIBUFOBCMPHKQ
IUUQTUFDIQFQBCPDPNNVVNVVTIPQQJOHDBSU
7VFKTʁ
Α͚ͩ͑͞·͢
IUUQTUSFOETHPPHMFDPNUSFOETFYQMPSF EBUFUPEBZZRWVFKT SFBDUKT BOHVMBSKT
ಛ wK2VFSZͷΘΓͱͯ͠খنʹ w41"443Ͱ͖େنʹ w*&Ҏ߱ʹରԠ wެࣜͷຊޠυΩϡϝϯτ͕Θ͔Γ͍͢ wখ࢝͘͞Ί͘͢ͱ͖͍ͬͭ͢ʂ IUUQTKQWVFKTPSH
)FMMP7VF <div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script
src="https://unpkg.com/vue"></script> <script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script>
݁Ռ
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> OFX7VF 7VFΠϯελϯεΛ࡞ )FMMP7VF
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> FMཧ͍ͨ͠%0.ͷJEΛࢦఆ )FMMP7VF
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> EBUB7VFΠϯελϯεʹอ࣋͢ΔσʔλΛએݴ )FMMP7VF
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> NFUIPETॲཧΛ͢ΔϝιουΛ࣮ IUNMଆ͔Β7VFΠϯελϯεͰݺͼग़͠Մೳ )FMMP7VF
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> )FMMP7VF
IUUQTUFDIQFQBCPDPNNVVNVVTIPQQJOHDBSU
͖ͬ͞ͷײ͡Ͱ͍ͬͯΔ 41"Ͱͳ͘443͍ͬͯ·ͤΜ
ཧ༝ wσβΠφʔͱڠۀͩͬͨ w3VCZPO3BJMTͷ্Ͱͬͨ
ཧ༝ wσβΠφʔͱڠۀͩͬͨ w3VCZPO3BJMTͷ্Ͱͬͨ 3BJMTͷ7JFXϑΝΠϧͰ݁ͤ͞Δ )5.-ͷςϯϓϨʔτΛ+BWB4DSJQUଆʹ࣋ͨͳ͍ ˠίϯϙʔωϯτΛ࣋ͨͳ͍
<div id="vue-app"> <h1 v-show="isShow">hello!</h1> <button v-on:click="showHello()">show hello</button> </div> <script src="https://unpkg.com/vue"></script>
<script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> ɾid=“vue-app”͔ͩΒ7VFKT͔͍ͭͬͯΔͷͩͳ ɾv- Ͱ࢝·͍ͬͯΔ͔ΒԿ͔ॲཧʹ͔͍ͭͬͯΔͷͩͳ ɾv-show දࣔΓସ͑Λ͢Δͭͩͳ ɾv-on:click ΫϦοΫͨ࣌͠ʹԿ͔͍ͯ͠Δͳ )5.-͔ΒಡΈऔΕΔใ͕ଟ͍ʂ )FMMP7VF
K2VFSZ <div> <h1 id="hidden-h1" style="display: none;">hello!</h1> <button id="h1-show">show hello</button> </div>
<script src="https://unpkg.com/vue"></script> <script> new Vue({ el: '#vue-app', data: { isShow: false, }, methods: { showHello: function () { this.isShow = true } } }) </script> ɾid="hidden-h1"Կʹ͍ͬͯΔJEͳͷͩΖ͏ ɾstyle="display: none;" DTTʹҠ͍͚ͨ͠ͲҠ͢ͱ ɹI͕࠷ॳ͔Βফ͑ͯΔ͜ͱ͕Θ͔Βͳ͘ͳΔͳ ɾid="h1-show" ͨͿΜΫϦοΫͨ͠ΒIΛද͍ࣔͯ͠ΔΜͩΖ͏ +BWB4DSJQU$44Λ֬ೝ͠ͳ͍ͱΘ͔Βͳ͍ʂ ˠ։ൃεϐʔυ͕μϯɺอक͠ʹ͍͘
͚ͭͩۤ࿑ͨ͠
BKBYΛ͏߹ w7VFKTਪͷBYJPTͱ͍͏)551ΫϥΠΞϯτΛ༻ IUUQTHJUIVCDPNN[BCSJTLJFBYJPT w1SPNJTFϕʔε w*&͕ରԠͯ͠ͳ͔ͬͨɾɾɾ
QPMZpMM͍ͭͰʹXFCQBDL CBCFM wCBCFMQPMZpMMͰQPMZpMMΛಉࠝ͢Δ͜ͱͰݹ͍ϒϥβ͑Δ w&4ʹτϥϯεύΠϧ w&4 &4 Ͱιʔείʔυॻ͚ΔΑ͏ʹͳͬͨʂ wͦͯ͠&4ɾɾ
·ͱΊ w7VFKTΓ্͕͍ͬͯΔʢΓ্͍͖͍͛ͯͨʂʣ wখ͔͘͞ΒͰ࢝ΊΒΕΔ w)5.-͔ΒಡΈऔΕΔใ͕ଟ͘อक͍͢͠ w+BWB4DSJQUΛϞμϯʹ͍ͯͧ͘͠ʂʂ
ࠓ͙͢ʂ <script src="https://unpkg.com/vue"></script>