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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
250
フロントエンドリアーキテクチャリングと開発チームのスキルトランスファーにおける9ヶ月間の奮闘記
wakamsha
5
6.1k
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
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
110
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
670
連合学習と機密コンピューティング
lycorptech_jp
PRO
0
120
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
6
2.4k
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
360
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5.3k
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
Chainlitで作るお手軽チャットUI
ynt0485
0
260
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
150
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Six Lessons from altMBA
skipperchong
29
4.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Agile that works and the tools we love
rasmusluckow
331
21k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Deep Space Network (abreviated)
tonyrice
0
170
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Abbi's Birthday
coloredviolet
2
8.1k
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