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
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
260
フロントエンドリアーキテクチャリングと開発チームのスキルトランスファーにおける9ヶ月間の奮闘記
wakamsha
5
6.2k
Vite を使ってアプリケーションに環境変数を参照させる方法を考える
wakamsha
0
1.4k
小さくはじめる車輪の再発明のすゝめ
wakamsha
0
360
JavaScript ( 時々 TypeScript ) で ゆるやかにはじめる関数型プログラミング
wakamsha
6
3.2k
【codegen は難しくない】Swagger から JavaScript ( TypeScript ) コードを自動生成してコーディングを効率化しよう
wakamsha
4
3.6k
My name is WAKAMSHA - I’m a programmer / web frontend engineer.
wakamsha
1
2.3k
それ、もっとスマートに書けるよ - JavaScript コードをもっと短く、もっとシンプルに書く Tips 4選
wakamsha
9
14k
LP 制作フローを抜本的に改善した話
wakamsha
1
510
Other Decks in Technology
See All in Technology
あなたの知らないバージョン命名規則
sat
PRO
2
490
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
160
安全性・開発速度・ユーザー体験の あいだで考える 事業会社のプロダクトセキュリティ
mixi_engineers
PRO
0
100
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
200
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
900
電話に出る Python のログの話
shinnosuke_kishida
0
220
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
200
Netflix の裏側に何があるのか...その謎を解明すべく、我々は Amazon の奥地へと向かった
kentosuzuki
0
100
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
430
Sets in Go
ramalho
1
1.2k
LanceDB入門
mocobeta
9
680
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
490
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The Invisible Side of Design
smashingmag
301
52k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The SEO Collaboration Effect
kristinabergwall1
1
530
Building an army of robots
kneath
306
46k
Abbi's Birthday
coloredviolet
3
9.4k
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