SlideShare a Scribd company logo
1 of 40
Download to read offline
Beehive Data Group
Webpack
包達人(入門)
Beehive Data Group
坑
Who Am I
施旭峰 Jeffy Shih
bee.me@ninthday.info
數位足跡探索計畫
傳播學院+資科系
水火計畫
傳播學院+資科系
智慧型媒體實驗室
資科系
Beehive Data Group
Outline
● 緣起
● 什麼是 webpack
● 安裝
● 小試身手
● 醜化
Beehive Data Group
緣起
Beehive Data Group
Web 演化
圖片來源:http://www.slideshare.net/lis186/20130112webconf
Beehive Data Group
網路應用程式崛起
不再只是單純的顯示圖片文字資訊,更多互動與操作行為
● 網頁初始化的過程有更多的 JavaScript
● 可以在現代的瀏覽器上做更多事
● 較少全頁重新載入的行為 ➞ 甚至更多程式碼在單一頁面
Web Site
website is defined by its
content
Web Application
web application is defined by
its interaction with the user
Beehive Data Group
模組化
模組化系統的演進
● <script> 標籤
● CommonJS
● AMD (Asynchronous Module Definition) 以及其衍伸的標準
● ES6 (ECMAScript6) 模組
Beehive Data Group
模組化
<script> 標籤
缺點:
● 在全域下容易產生變數衝突
● 按照順序載入,錯了相依的函式庫就不能使用
● 模組相依性問題
● 大型專案的自願難以管理
<script src="module1.js"></script>
<script src="module2.js"></script>
<script src="libraryA.js"></script>
<script src="module3.js"></script>
Beehive Data Group
模組化
CommonJS
載入模組使用 require 方法,這個方法會讀取檔案並執行,最後回傳檔案內部
exports 的物件。
require("module");
require("../file.js");
exports.doStuff = function() {};
module.exports = someValue;
優點
● 伺服器端模組可以被重複使用
● 已經有許多 npm 的模組採用這種風格
● 簡單而且容易使用
缺點
● 同步的載入模組方式不適合瀏覽器,瀏
覽器是非同步載入
● 沒有支援多模組的平行載入實作
Beehive Data Group
模組化
AMD 非同步載入
為瀏覽器環境設計的規範,定義了非同步載入模組。
require(['module', '../file'], function(module, file) { /*
code here */});
define('mymodule', ["dep1", "dep2"], function(d1, d2) {
return someExportedValue;
});
優點
● 符合網路非同步載入的需求
● 可多模組平行載入
缺點
● 較高的開發成本,撰寫比較多的程式碼
,比較難讀寫和維護
● 看起來像是某種取巧的解法實作
Beehive Data Group
模組化
ES6 模組
import "jquery";
export function doStuff() {}
module "localModule" {}
優點
● 靜態解析非常容易
● 未來將會是 ECMAScript 標準
缺點
● 瀏覽器尚未全面支援,還需要花些時間
● 新版的指令
● 非常少模組已採用此種方式
Beehive Data Group
期望的模組化系統
● 兼容多種模組化,可以輕鬆的加入其他模組標準
● 讓開發者選擇模組化的標準
● 讓已存在的程式碼可以運作
● 除了 JavaScript 其他資源也需要模組化
Beehive Data Group
所有資源都是模組
除了 JavaScript 其他資源也需要模組化
● stylesheets
● images
● webfonts
● html for templating
● coffeescript ➞ javascript
● less stylesheet ➞ css
● jade ➞ html
● i18n ➞ something
require("./style.css");
require("./style.less");
require("./template.jade");
require("./image.png");
Beehive Data Group
所以我們需要
??
Beehive Data Group
什麼是 webpack
Beehive Data Group
什麼是 Webpack
Beehive Data Group
什麼是 Webpack
一個模組的封裝工具(module bundler),由德國的 Tobias Koppers 所開發。
webpack 會將模組與其相依性的模組、函式庫,其他需要預先編譯的檔案等整合產
生此模組的靜態資源檔。
簡單說:
● 將CSS、圖片與其他資源打包至一個.js之中
● 打包之前預處理(less、coffeescript、jsx等)
● 依 entry 文件不同,把 .js 分為多個 .js
● 豐富的模組元件
Beehive Data Group
再造輪子
為何不用其他封裝工具?
目標:
● 能夠拆分相依性的關係結構變成程式碼片段,依據需求載入
● 盡可能減少初始化載入的時間
● 各種靜態資源檔也應該要能被模組化
● 整合其他第三方函式庫為模組
● 絕大部份能夠依照需求自訂修改邏輯
● 適合大型專案
Beehive Data Group
Webpack 有啥特點?
● 拆分程式碼(Code Splitting)
● Loader
● 智慧型解析
● 擴充套件系統
● 快速運行
Beehive Data Group
裝
Beehive Data Group
準備
1. 安裝 node.js (https://nodejs.org)
Node.js 官方提供了各種不同OS的安裝方法:
https://nodejs.org/en/download/package-manager/
2. 用 npm 更新 npm (預設版本 2.15.8 -> 3.10.2)
$ sudo apt-get install curl
$ curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo npm install npm -g
Beehive Data Group
安裝
兩種安裝方式
1. 安裝於全域
2. 安裝於專案目錄
$ npm init
$ npm install webpack --save-dev
$ sudo npm install webpack -g
Beehive Data Group
安裝
● 指定版本安裝
● 查看 webpack 版本訊息
● 安裝 webpack 開發工具
$ npm info webpack
$ npm install webpack@1.2.x --save-dev
$ npm install webpack-dev-server --save-dev
Beehive Data Group
指令介面
<entry>
傳入一個檔案或者路徑字串,實作的行為來說明,就是用來 require
其他模組的檔案。
<output>
表示要輸出的路徑
$ webpack <entry> <output>
Beehive Data Group
小試身手
Beehive Data Group
Try 1
entry.js
index.html
run
document.write("It works.");
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>
</body>
</html>
$ webpack ./entry.js bundle.js
Beehive Data Group
Try 2
content.js
entry.js
run
module.exports = "It works from content.js.";
document.write(require("./content.js"));
$ webpack ./entry.js bundle.js
Beehive Data Group
Try 3 - 第一個 LOADER
Webpack 預設只能夠處理 js 檔,需要 css-loader 來處理 css,再透過
style-loader 來把樣式套用到 DOM 上。
style.css
entry.js
$ npm install css-loader style-loader
body {
background: yellow;
}
require("!style!css!./style.css");
document.write(require("./content.js"));
Beehive Data Group
Try 4 - 綁定 LOADERS
實務上並不希望一直重複撰寫這種長長的 pipe require("!style!css!./style.
css");
根據副檔名綁定設定其 loaders,就只要寫 require("./style.css")
entry.js
run
$ webpack ./entry.js bundle.js --module-bind 'css=style!css'
require("./style.css");
document.write(require("./content.js"));
單引號,雙引號
要加跳脫字元
Beehive Data Group
Try 5 - 設定檔
指令落落長...將參數移動到設定檔裡
webpack.config.js
有了設定檔,只要執行
webpack 指令會試圖去載入當前目錄下
的 webpack.config.js
module.exports = {
entry: "./entry.js",
output: {
path: __dirname,
filename: "bundle.js"
},
module: {
loaders: [
{ test: /.css$/, loader: "style!css" }
]
}
};
$ webpack
Beehive Data Group
Try 6 - 擴充套件
擴充套件可以完成更多 loader 不能完成的
功能。webpack 已預設一些擴充套件,也
可由 npm 安裝第三方的插件。
在 webpack.config.js 加入擴充套件設定。
PS. BannerPlugin 是預設的插件,在檔案
的前端加上指定的說明。
var webpack = require('webpack');
module.exports = {
entry: './entry.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{test: /.css$/, loader: 'style!css'}
]
},
plugins: [
new webpack.BannerPlugin('This file is created by
Beehive')
]
};
List of Plugins:
https://webpack.github.io/docs/list-of-plugins.html
Beehive Data Group
開發時期伺服器
webpack 提供一個 localhost:8080 的 express server ,讓我們在開發時期可
以更快速的觀察結果,當然會自動編譯,同時自動更新頁面(socket.io)
安裝
啟動
$ npm install webpack-dev-server -g
$ webpack-dev-server --progress --colors
Beehive Data Group
常用指令
● webpack:在開發模式下一次性的編譯
● webpack -p:建置 production-ready 的程式(壓縮)
● webpack --watch:持續更新建置,在開發模式下因應程式碼修改(儲存時有異
動)
● webpack -d:產生 source maps 檔案(.js.map)
● webpack --progress --colors:含處理進度與顏色
Beehive Data Group
醜化
Beehive Data Group
醜化
Beehive Data Group
webpack demo
Github Webpack Demo:
https://github.com/ruanyf/webpack-demos
Demo07: UglifyJs Plugin
https://github.com/ruanyf/webpack-demos#demo07-uglifyjs-plugin-source
Beehive Data Group
其他資源
Pete hunt: webpack-howto
https://github.com/petehunt/webpack-howto
Beehive Data Group
2016台灣首屆農業黑客松
這是最好的時代,也是最壞的時代,我們正面對全
球自然、文化、社會環境改變,食品安全、食農教
育、產銷物流都存在各種待解難題;
阿龜松(Agrithon)是農業(Agriculture)以及黑客松
(Hackathon)的組合字,我們是台灣農業阿龜松團
隊,將於今年8月13日於集思台大會議中心舉辦台
灣首屆農業黑客松,誠摯邀請各方好手用知識、技
術與熱情,一同發現並且解決農業問題。
活動網站:http://2016.agrithon.tw/
Beehive Data Group
Thx

More Related Content

What's hot

進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!Will Huang
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC
 
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15twMVC
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式Will Huang
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介GO LL
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2twMVC
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略Will Huang
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARPtwMVC
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索Will Huang
 
用Maven管理專案的依賴關係
用Maven管理專案的依賴關係用Maven管理專案的依賴關係
用Maven管理專案的依賴關係Huang Bruce
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build Systemimacat .
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC
 
项目开发实践No.1
项目开发实践No.1项目开发实践No.1
项目开发实践No.1pepsixp
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC
 

What's hot (20)

進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
 
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事twMVC#30 | 你應該瞭解的 container-on-azure-二三事
twMVC#30 | 你應該瞭解的 container-on-azure-二三事
 
twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決twMVC#19 | opserver監控服務的解決
twMVC#19 | opserver監控服務的解決
 
twMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvctwMVC#31沒有 hdd 的網站重構 webform to mvc
twMVC#31沒有 hdd 的網站重構 webform to mvc
 
twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解twMVC#43 Visual Studio 2022 新功能拆解
twMVC#43 Visual Studio 2022 新功能拆解
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15動手打造 application framework-twMVC#15
動手打造 application framework-twMVC#15
 
使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式使用 Visual Studio Code 建構 JavaScript 應用程式
使用 Visual Studio Code 建構 JavaScript 應用程式
 
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
 
Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2Asp.net mvc 從無到有 -twMVC#2
Asp.net mvc 從無到有 -twMVC#2
 
twMVC#41 The journey of source generator
twMVC#41 The journey of source generatortwMVC#41 The journey of source generator
twMVC#41 The journey of source generator
 
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
 
twMVC#43 YARP
twMVC#43 YARPtwMVC#43 YARP
twMVC#43 YARP
 
twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧twMVC#44 讓我們用 k6 來進行壓測吧
twMVC#44 讓我們用 k6 來進行壓測吧
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
 
用Maven管理專案的依賴關係
用Maven管理專案的依賴關係用Maven管理專案的依賴關係
用Maven管理專案的依賴關係
 
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
 
twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops) twMVC#38 How we migrate tfs to git(using azure dev ops)
twMVC#38 How we migrate tfs to git(using azure dev ops)
 
项目开发实践No.1
项目开发实践No.1项目开发实践No.1
项目开发实践No.1
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 

Viewers also liked

Honey's Data Dinner#12 區塊鏈的過往今來(上)
Honey's Data Dinner#12 區塊鏈的過往今來(上)Honey's Data Dinner#12 區塊鏈的過往今來(上)
Honey's Data Dinner#12 區塊鏈的過往今來(上)beehivedata
 
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享beehivedata
 
Honey's Data Dinner#1 word2vec 2016總統大選新聞
Honey's Data Dinner#1 word2vec 2016總統大選新聞Honey's Data Dinner#1 word2vec 2016總統大選新聞
Honey's Data Dinner#1 word2vec 2016總統大選新聞beehivedata
 
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法beehivedata
 
平台經濟模式心得分享
平台經濟模式心得分享平台經濟模式心得分享
平台經濟模式心得分享建夆 陳
 
Czym jest webpack i dlaczego chcesz go używać?
Czym jest webpack i dlaczego chcesz go używać?Czym jest webpack i dlaczego chcesz go używać?
Czym jest webpack i dlaczego chcesz go używać?Marcin Gajda
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clustersenissoz
 
Word2vec (中文)
Word2vec (中文)Word2vec (中文)
Word2vec (中文)Yiwei Chen
 
Dubbo - 高性能分布式 RPC 框架
Dubbo - 高性能分布式 RPC 框架Dubbo - 高性能分布式 RPC 框架
Dubbo - 高性能分布式 RPC 框架Chen Wu
 
Paxos building-reliable-system
Paxos building-reliable-systemPaxos building-reliable-system
Paxos building-reliable-systemYanpo Zhang
 
Packing it all: JavaScript module bundling from 2000 to now
Packing it all: JavaScript module bundling from 2000 to nowPacking it all: JavaScript module bundling from 2000 to now
Packing it all: JavaScript module bundling from 2000 to nowDerek Willian Stavis
 
Webpack Tutorial, Uppsala JS
Webpack Tutorial, Uppsala JSWebpack Tutorial, Uppsala JS
Webpack Tutorial, Uppsala JSEmil Öberg
 
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)beehivedata
 
《Python 3.5 技術手冊》第二章草稿
《Python 3.5 技術手冊》第二章草稿《Python 3.5 技術手冊》第二章草稿
《Python 3.5 技術手冊》第二章草稿Justin Lin
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释Yanpo Zhang
 
《我的第一本圖解心理學》導讀與應用
《我的第一本圖解心理學》導讀與應用《我的第一本圖解心理學》導讀與應用
《我的第一本圖解心理學》導讀與應用Lee CHIU
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with WebpackDanillo Corvalan
 
暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1Michael Ding
 
webpack 101 slides
webpack 101 slideswebpack 101 slides
webpack 101 slidesmattysmith
 

Viewers also liked (20)

Honey's Data Dinner#12 區塊鏈的過往今來(上)
Honey's Data Dinner#12 區塊鏈的過往今來(上)Honey's Data Dinner#12 區塊鏈的過往今來(上)
Honey's Data Dinner#12 區塊鏈的過往今來(上)
 
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
Honey's Data Dinner#8 資料科學實用技術、工具與實例分享
 
Honey's Data Dinner#1 word2vec 2016總統大選新聞
Honey's Data Dinner#1 word2vec 2016總統大選新聞Honey's Data Dinner#1 word2vec 2016總統大選新聞
Honey's Data Dinner#1 word2vec 2016總統大選新聞
 
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法
Honey's Data Dinner#11 以資料科學切入的食品安全風險評估方法
 
平台經濟模式心得分享
平台經濟模式心得分享平台經濟模式心得分享
平台經濟模式心得分享
 
Czym jest webpack i dlaczego chcesz go używać?
Czym jest webpack i dlaczego chcesz go używać?Czym jest webpack i dlaczego chcesz go używać?
Czym jest webpack i dlaczego chcesz go używać?
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clusters
 
Word2vec (中文)
Word2vec (中文)Word2vec (中文)
Word2vec (中文)
 
141119
141119141119
141119
 
Dubbo - 高性能分布式 RPC 框架
Dubbo - 高性能分布式 RPC 框架Dubbo - 高性能分布式 RPC 框架
Dubbo - 高性能分布式 RPC 框架
 
Paxos building-reliable-system
Paxos building-reliable-systemPaxos building-reliable-system
Paxos building-reliable-system
 
Packing it all: JavaScript module bundling from 2000 to now
Packing it all: JavaScript module bundling from 2000 to nowPacking it all: JavaScript module bundling from 2000 to now
Packing it all: JavaScript module bundling from 2000 to now
 
Webpack Tutorial, Uppsala JS
Webpack Tutorial, Uppsala JSWebpack Tutorial, Uppsala JS
Webpack Tutorial, Uppsala JS
 
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)
Honey's Data Dinner#13 跨領域專案開發經驗談(User Story Mapping)
 
《Python 3.5 技術手冊》第二章草稿
《Python 3.5 技術手冊》第二章草稿《Python 3.5 技術手冊》第二章草稿
《Python 3.5 技術手冊》第二章草稿
 
可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释可靠分布式系统基础 Paxos的直观解释
可靠分布式系统基础 Paxos的直观解释
 
《我的第一本圖解心理學》導讀與應用
《我的第一本圖解心理學》導讀與應用《我的第一本圖解心理學》導讀與應用
《我的第一本圖解心理學》導讀與應用
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with Webpack
 
暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1暴走漫画数据挖掘从0到1
暴走漫画数据挖掘从0到1
 
webpack 101 slides
webpack 101 slideswebpack 101 slides
webpack 101 slides
 

Similar to Honey's Data Dinner#7 webpack 包達人(入門)

前端框架發展
 前端框架發展 前端框架發展
前端框架發展Chi-wen Sun
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探Anson Yang
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkitLainZQ
 
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)Cyril Wang
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集zhen chen
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇建興 王
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發Fred Chien
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路yingganfei
 
Python包管理工具介绍
Python包管理工具介绍Python包管理工具介绍
Python包管理工具介绍Young King
 
Event proxy introduction
Event proxy introductionEvent proxy introduction
Event proxy introductionmysqlops
 
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianEventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianJackson Tian
 
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践Jackson Tian
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发leneli
 
Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊liangxiao0315
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」Orange Tsai
 
Eclipse4.0+cdt+cygwin+gdb开发环境搭建
Eclipse4.0+cdt+cygwin+gdb开发环境搭建Eclipse4.0+cdt+cygwin+gdb开发环境搭建
Eclipse4.0+cdt+cygwin+gdb开发环境搭建_MoYang
 
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进美团点评技术团队
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡cachowu
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践Na Lee
 

Similar to Honey's Data Dinner#7 webpack 包達人(入門) (20)

前端框架發展
 前端框架發展 前端框架發展
前端框架發展
 
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探
 
OSGi Small Lab
OSGi Small LabOSGi Small Lab
OSGi Small Lab
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
 
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
如何利用 www.webpagetest.org 進行網頁效能分析與改進建議 (真實案例)
 
互联网创业服务器运维工具集
互联网创业服务器运维工具集互联网创业服务器运维工具集
互联网创业服务器运维工具集
 
在雲端上啜飲爪哇
在雲端上啜飲爪哇在雲端上啜飲爪哇
在雲端上啜飲爪哇
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
 
陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路陈桂鸿 Ak--手机qq hybrid-app优化新思路
陈桂鸿 Ak--手机qq hybrid-app优化新思路
 
Python包管理工具介绍
Python包管理工具介绍Python包管理工具介绍
Python包管理工具介绍
 
Event proxy introduction
Event proxy introductionEvent proxy introduction
Event proxy introduction
 
EventProxy introduction - JacksonTian
EventProxy introduction - JacksonTianEventProxy introduction - JacksonTian
EventProxy introduction - JacksonTian
 
D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践D2_Node在淘宝的应用实践
D2_Node在淘宝的应用实践
 
OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发OPOA in Action -- 使用MagixJS简化WebAPP开发
OPOA in Action -- 使用MagixJS简化WebAPP开发
 
Hadoop开发者入门专刊
Hadoop开发者入门专刊Hadoop开发者入门专刊
Hadoop开发者入门专刊
 
WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」WebConf 2013「Best Practices - The Upload」
WebConf 2013「Best Practices - The Upload」
 
Eclipse4.0+cdt+cygwin+gdb开发环境搭建
Eclipse4.0+cdt+cygwin+gdb开发环境搭建Eclipse4.0+cdt+cygwin+gdb开发环境搭建
Eclipse4.0+cdt+cygwin+gdb开发环境搭建
 
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进美团点评技术沙龙13-酒旅Hybrid架构体系及演进
美团点评技术沙龙13-酒旅Hybrid架构体系及演进
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
02.python.开发最佳实践
02.python.开发最佳实践02.python.开发最佳实践
02.python.开发最佳实践
 

Honey's Data Dinner#7 webpack 包達人(入門)