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
20170714_about_fusebox
Search
wakamsha
July 14, 2017
Technology
7.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20170714_about_fusebox
2017年7月14日 『Gotanda.js #8 in Nextbeat』にて発表した資料です。
https://gotandajs.connpass.com/event/57562/
wakamsha
July 14, 2017
More Decks by wakamsha
See All by wakamsha
Storybook 勉強会
wakamsha
0
270
フロントエンドリアーキテクチャリングと開発チームのスキルトランスファーにおける9ヶ月間の奮闘記
wakamsha
5
6.3k
Vite を使ってアプリケーションに環境変数を参照させる方法を考える
wakamsha
0
1.4k
小さくはじめる車輪の再発明のすゝめ
wakamsha
0
370
JavaScript ( 時々 TypeScript ) で ゆるやかにはじめる関数型プログラミング
wakamsha
6
3.2k
【codegen は難しくない】Swagger から JavaScript ( TypeScript ) コードを自動生成してコーディングを効率化しよう
wakamsha
4
3.7k
My name is WAKAMSHA - I’m a programmer / web frontend engineer.
wakamsha
1
2.3k
それ、もっとスマートに書けるよ - JavaScript コードをもっと短く、もっとシンプルに書く Tips 4選
wakamsha
9
14k
LP 制作フローを抜本的に改善した話
wakamsha
1
520
Other Decks in Technology
See All in Technology
macOS Golden Gate 時代のMac管理
tategami
0
110
こんにちは!SORACOM です & IoT とは【SORACOM UG 東北 in 八戸】
soracom
PRO
0
150
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
5
1.4k
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
2
190
20年間 SNS サービス「GREE」 を支えた技術の刷新と、長期運用サービスの Kubernetes へのリアーキテクト
gree_tech
PRO
0
100
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
180
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
150
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
1
920
Optunaの最新リリースv5.0について
pfn
PRO
0
130
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
250
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
370
Featured
See All Featured
Making Projects Easy
brettharned
120
6.8k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
640
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Making the Leap to Tech Lead
cromwellryan
135
10k
BBQ
matthewcrist
90
10k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Become a Pro
speakerdeck
PRO
31
6.3k
Transcript
'VTF#PY ৽ਐؾӶͷ+BWB4DSJQU.PEVMF#VOEMFSΛࢼͯ͠Έͨ - Try outstanding JavaScript module bundler -
/BPLJ:"."%" !XBLBNTIB (PUBOEBKT
8IBU`T'VTF#PY - FuseBox ͬͯԿ ? -
8IBU`T'VTF#PY ଟػೳ͔ͭߴͳϞδϡʔϧόϯυϥʔ &4.PEVMFTʹඪ४ରԠ
8IBU`T'VTF#PY +BWB4DSJQU͚ͩͰͳ͘5ZQF4DSJQU .ts.tsx ʹσϑΥϧτͰରԠ 5ZQF4DSJQUίϯύΠϥ tsc ͑͋͞Εผ్ϓϥάΠϯෆཁ TS TSX
8IBU`T'VTF#PY ϩʔΧϧαʔόػೳΛσϑΥϧτͰࡌ ˞).3͋Γ ϓϥάΠϯՃͰ"MU$44ͷτϥϯεύΠϧɺը૾ͷ#BTFԽͳͲ͕Մೳ
#BTJD&YBNQMF ಈ͔ͯ͠ΈΑ͏
#BTJD&YBNQMF
#BTJD&YBNQMF • https://angular.io/tutorial w ϓϩμΫγϣϯίʔυ *.ts w ϑΝΠϧ14 w
ίʔυߦ388 w ґଘϥΠϒϥϦ w @angular/جຊతͳϠπ͍Ζ͍Ζ w SYKT w DPSFKT w [POFKT 5PVSPG)FSPFT"OHVMBS5VUPSJBM
const {FuseBox} = require('fuse-box'); const fuse = FuseBox.init({
hogeDir: 'src/scripts', output: 'public/assets/$name.js', sourceMaps: true, cache: true }); const app = fuse .bundle('bundle') .instructions(`> main.ts`); fuse.run(); project/bin/fuse.js
{ "name": "tutorials", "version": “1.0.0”, "scripts": { "bundle": "node ./bin/fuse”
}, "dependencies": { "@angular/common": "^4.2.6", "@angular/compiler": "^4.2.6", "@angular/core": "^4.2.6", "@angular/forms": "^4.2.6", "@angular/http": “^4.2.6", ⋮ "core-js": "^2.4.1", "rxjs": "^5.4.2", "zone.js": "^0.8.12" }, "devDependencies": { "fuse-box": "^2.2.0", "typescript": "2.3.4" } } package.json const {FuseBox} = require('fuse-box'); const fuse = FuseBox.init({ hogeDir: 'src/scripts', output: 'public/assets/$name.js', sourceMaps: true, cache: true }); const app = fuse .bundle('bundle') .instructions(`> main.ts`); fuse.run(); project/bin/fuse.js
FILE SIZE 3,477KB ELAPSED TIME 3.28s
$PNQBSFXJUIPUIFS.PEVMF#VOEMFST ଞͷϞδϡʔϧόϯυϥʔͱൺֱͯ͠ΈΑ͏
None
FILE SIZE 3,477KB ELAPSED TIME 3.28s FILE SIZE 3,064KB ELAPSED
TIME 11.86s FILE SIZE 3,522KB ELAPSED TIME 9.06s FILE SIZE 3,455KB ELAPSED TIME 7.58s
.JOJGZXJUI#"#&- $PNQSFTTFE .BOHMF
FILE SIZE 1,149KB FILE SIZE 977KB FILE SIZE 1067KB FILE
SIZE 1,170KB .JOJGZXJUI#"#&- $PNQSFTTFE .BOHMF
'VTF#PY`TJNQSFTTJPO w ѹతͳॲཧͦΕ͚ͩͰେ͖ͳັྗ w ଞϞδϡʔϧόϯυϥʔʹμϒϧείΞͷେࠩΛ͚͍ͯΔ w ࠷ॳ͔Β5ZQF4DSJQUʹରԠ͍ͯ͠Δͷخ͍͠ϙΠϯτ w "OHVMBS͚ͩͰͳ͘$ZDMFKTͳ͘όϯυϧग़དྷΔ w
ઃఆϑΝΠϧ fuse.js ͷॻ͖ํ͕γϯϓϧͰ͔Γ͍͢
'VTF#PY`TJNQSFTTJPO w 8FCQBDLಉ༷ଟػೳΛചΓʹ͍ͯ͠Δ͕ɺݸਓతʹ+4όϯυϧͷΈͷ༻్ Ͱ͍͍ͨ w ϩʔΧϧαʔό$44ͷόϯυϧผʹ༻ҙ͢ΕࡁΉ
'VTF#PY`TJNQSFTTJPO w ຊ3PMMVQKTͷΑ͏ͳ୯ػೳಛԽܕ͕Έͳͷ͕ͩɺ$ZDMFKTͩͱਖ਼ৗʹ όϯυϧ͞Εͳ͍ͷ͕ඇৗʹ೦ʜ w ຊདྷඞཁͳͷʹෆཁͱஅ͞Εͯ5SFF4IBLJOH͞ΕͯΔ͕ؔ͋Δͷ͔ʜʁ w *TTVFʹڍ͕͍ͬͯΔ͕ະͩղܾ͞Ε͓ͯΒͣ w ॲཧଞΑΓ͍ͷ͕ؾʹͳΔ
˞όϯυϧॲཧࣗମ௨Γ·͢
*OUSPEVDFNZTFMG Զͷ໊ΛݴͬͯΈΖ ࣗݾհ
גࣜձࣾϦΫϧʔτϚʔέςΟϯάύʔτφʔζ XFCϑϩϯτΤϯυΤϯδχΞ ࢁా थ /BPLJ:"."%" *OUSPEVDFNZTFMG !XBLBNTIB
https://tech.recruit-mp.co.jp NET BIZ DIV. TECH BLOG
None
https://tech.recruit-mp.co.jp 3.1 ϒϩά
5IBOLZPV