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
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
560
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
0
130
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
100
How to Design Configuration for Rails Applications
willnet
0
420
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
140
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
730
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
890
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
160
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
650
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.5k
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
740
How to Think Like a Performance Engineer
csswizardry
28
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
560
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