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
Use Webpack + Vue-Loader in VS2017
Search
Anny Chang
August 31, 2017
Programming
0
410
Use Webpack + Vue-Loader in VS2017
簡報於 Kingston 2017 Team workshop
Anny Chang
August 31, 2017
Tweet
Share
More Decks by Anny Chang
See All by Anny Chang
Facebook Instant Articles - 測試到發布
annilla
1
260
Other Decks in Programming
See All in Programming
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
210
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
280
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
19
4.3k
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1k
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
190
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
880
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
200
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
270
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Building Applications with DynamoDB
mza
95
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
GraphQLとの向き合い方2022年版
quramy
49
14k
Designing for humans not robots
tammielis
253
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
KATA
mclloyd
30
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
USE WEBPACK + VUE-LOADER IN VS2017 Anny Chang
WHY WEBPACK? 節省整理和維護前端靜態檔案的時間 1
WEBPACK 拆分程式碼片段
WEBPACK 減少初始化載入時間
WEBPACK 靜態資源模組化
WEBPACK 整合第三方模組
WEBPACK 依照需求自訂修改
WEBPACK 支援 hot-reload
WEBPACK 優點 整合第三方模組 npm plugins… angular, react, vue, es6, typescript,
sass, postcss, 愛用什麼就裝 什麼.全部幫你打包成瀏覽器 看得懂 依照需求自訂修改 客製程式打包結果,資料夾結 構想長怎樣就怎樣 支援 hot-reload 開發階段改任何 js, css 瀏覽 器自動刷新 拆分程式碼片段 能夠拆分相依性的關係結構 變成程式碼片段,然後依據需 求載入 減少初始化載入時間 可做到只輸出一隻 css 一隻 js 靜態資源模組化 每一個靜態資源檔都能被模 組化,images, files 使用 hash, 大小限制…
WEBPACK
WHY VUE-LOADER? 網頁元素模組化更易維護整理 2
VUE-LOADER 優點 VUE 組件化 單一元素的 html, css, js 寫 在同個
Vue 組件。閱讀性 高、元素可拆分並重複利用。 <template>...</template> <script>...</script> <style>...</style> 組件內支援其他加載 在每個 Vue 組件內支持其他 的 Webpack 加載器。可依 喜愛加載語法。 <template lang="pug">... <script lang="typescript">.. <style lang="sass">... 資料綁定靈活 雙向、單向綁定皆可,父與子 元件不互相影響,單獨運作。 處理資料超方便,大量資料 也可自由搭配 Vuex。
Try out Demo Develop, Production
資料夾結構 https://github.com/Annilla/vue-cli-with-vs 3
資料夾結構
資料夾結構
資料夾結構
Webpack Configuration https://webpack.js.org/configuration/ 4
Webpack.config.js
Vue-loader https://vuejs.org/v2/guide/single-file-components.html#Introduction 5
Vue-loader
VS2017 環境設定 6
SETUP 1. 安裝 Node.js / 版本: 6 以上 ( 官網
) 2. 安裝擴充 NPM Task Runner (要執行npm 指令用) 3. 設定 Web Package Management (讓 VS 吃外部的 node 版本) 4. 詳細參見: OneNotes > Anny > Webpack
DEVELOP 開發步驟 7
DEVELOP 1. VS 開啟專案 > 開啟工作執行器總管 2. 執行 NPM Task
Runner > 點兩下執行 npm install 3. 執行 NPM Task Runner > 點兩下執行 Custom server 啟動 webpack-dev-server 4. 建置專案 > 啟動但不偵錯 > 修改 .vue 即可自動 reload 瀏覽器 注意:沒有被 webpack 監控的檔案不會因為修改而觸發 reload
PRODUCTION 產品步驟 8
PRODUCTION 1. 執行 NPM Task Runner > 點兩下執行 Custom build
2. 修改 Web.config <add key="UseWebpackDevServer" value="false"/> 3. 建置專案
“ Web.config 修改的差別在於 _Layout.cshtml 內 的 css, js 有用到這裡的值來判斷引入的路徑。 1.
Develop路徑: webpack-dev-server localhost:9000/... 2. Production路徑: /...
None
Syntax-highlighting ⊡ VScode: Vetur ⊡ VS2017: Vue.js Pack
REFERENCE ⊡ OneNote: 小組筆記本 > Anny > Webpack ⊡ Webpack
⊡ Vue ⊡ 想要了解更多嗎? 請密切關注 Team blog Webpack 3 tutorial 系列文章
THANKS! Any questions? By Anny Chang