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
フロントエンド開発環境の話
Search
e.sekito
November 07, 2016
Programming
4.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フロントエンド開発環境の話
社内勉強会で最近のJavaScript開発環境の話をしたときの資料です。
e.sekito
November 07, 2016
More Decks by e.sekito
See All by e.sekito
HTML5の新機能について
sekito
0
4.4k
Other Decks in Programming
See All in Programming
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
880
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
2
540
Domain-Driven Transformation
hschwentner
2
2.3k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
sbt 2.0: takeoff
eed3si9n
0
160
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
The Invisible Side of Design
smashingmag
301
52k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile that works and the tools we love
rasmusluckow
331
22k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Paper Plane
katiecoart
PRO
5
54k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
フロントエンド開発環境の話 2016-10-07 fixpoint 社内勉強会資料
目次 モチベーション 利用するツールなどの紹介 構成例の紹介 まとめ
モチベーション フロントエンド開発に必須のJavaScript – 年々、JavaScript開発の規模が増大 JavaScriptは依存管理が面倒 – 外部のライブラリを利用する場合、コピーしてくる –
ファイル名にバージョンを含めるなどで対応 – <script>タグでの読み込み順にも注意が必要 – 破綻 コードベースの管理のため、モジュール単位で分割したい – 依存管理
利用するツールなどの紹介 Node.js gulp.js webpack ES2015
Node.jsについて JavaScriptの処理系 サーバサイドJavaScript等のキーワードで一時流行 Node Package Manager (npm)
というモジュール管理システム
gulp.jsについて MakeのJavaScript版 (のようなもの) JavaScriptで記述した設定に従って動作 – 自由度が高い 各種pluginにより動作を拡張可能
gulp.jsの動作概要 JavaScript CSS HTML gulp.js JavaScript CSS HTML フィルタ処理
webpackについて JavaScriptの依存関係を解決し、単一のファイルにまとめる 各種拡張モジュール – loader babel-loader
json-loader – plugin DedupePlugin CLIでの呼び出し、gulp.js経由での呼び出し
webpackの動作概要 app.js + others app.js webpack + dist/ - app.js
+ src/ - app.js + libs/ - some.js - module.js 依存解決 + マージ
ES2015について 最新のJavaScript言語仕様 – CoffeeScriptから各種構文の輸入 今まで弱点だった箇所を強化 ※抜粋 – Object-based
OOP => Class-based OOP (構文上) – モジュールの概念 – thisの取り回し – 変数のスコープ ブラウザの対応状況はまだ悪い – Babelというツールを利用することで回避可能 – 既存のライブラリとの親和性に難があるため、実務での利用は避けたい
EcmaScript2015の例 今までのクラス定義 var Hoge= function(opts){ opts || (opts= {}); this.fuga=
opts.fuga; }; Hoge.prototype.piyo= function(args){}; ES2015のクラス定義 class Hoge{ constructor(opts= {}) { this.fuga= opts.fuga; } piyo(args){} }
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json 環境変数等により、ビルド時にconfig.jsonなどとしてコピー JavaScriptから読み込む
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json 自分たちで実装するJavaScriptを除いた、 フルセットのWebサイトを置く
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json 実装対象のJavaScript 各Webページで読み込むものがわかりやすいよう HTMLと対応するJavaScriptファイル名を合わせる
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json gulp.jsの設定ファイル webpackの設定ファイル 利用するJavaScriptライブラリを記述するファイル
構成例の紹介 (ファイル構成) project/ ├ conf/ │ ├ prd.json │ ├
dev.json ├ src/ │ ├ main/ │ │ ├ static/ │ │ │ ├ index.html │ │ │ ├ css/ │ │ │ │ ├ style.css │ │ ├ js/ │ │ │ ├ index.js ├ dist/ ├ gulpfile.js ├ webpack.config.js ├ package.json ビルドされたWebサイトのフルセットが格納
まとめ フロントエンドの開発環境について、簡単に説明した JavaScriptは依存管理が面倒なので、ビルド時に解決する 構成例を説明した