SlideShare a Scribd company logo
JS開発環境を晒す。
@ETROJAN
20 OCT 2016
背景
クライアントJSをnpmで管理し始めた。
▸ Framework, etc.
▸ npm => package manager
▸ webpack => module bundler
▸ babel => ES6 compiler
▸ jsdoc => documentation
▸ webpack-dev-server => httpd
▸ mocha => unit test

▸ Editor, etc.
▸ atom => editor
▸ ternjs => suggest
▸ linter-eslint => linter
FRAMEWORK, ETC.
https://www.npmjs.com/
▸ 言わずと知れた JS用 package manager。
▸ クライアントJS用にも利用可能。
▸ webpack+babelを利用すれば、ES6でクライアントJSを書ける。
▸ 独自 package も簡単に作れる。
▸ facebookの yarn を使ってみたら速い。npm install の代替としては使える。
▸ ちなみに、自作パッケージ達。
▸ https://www.npmjs.com/package/adhesion-element
▸ https://www.npmjs.com/package/interstitial
▸ https://www.npmjs.com/package/scroll-y-stop
FRAMEWORK, ETC.
https://webpack.github.io/
▸ module bundler。
▸ 主な目的は、require してるモジュールを pack して1つのJSにする事。
▸ 他にも plugin 次第で色んな事ができる。
▸ uglify(難読化)したり。
▸ ローカルの画像もbase64化してJS内に内包したり。
▸ production / development を分けたり。 
▸ 最初は設定で苦戦するかも。
FRAMEWORK, ETC.
https://www.npmjs.com/package/jsdoc
▸ documentation
▸ JSDoc3対応。
▸ npm install jsdoc

npm install ink-docstrap
FRAMEWORK, ETC.
https://www.npmjs.com/package/webpack-dev-server
▸ httpd Server
▸ webpackアプリ向け。
▸ npm install webpack-dev-server
FRAMEWORK, ETC.
https://babeljs.io/
▸ javascript compiler。
▸ ES6をES5にしたり、JSXをES5にしたり。
▸ ブラウザがES6に対応してくれれば要らないん
だけど、今は微妙に要るやつ。
▸ でも改めて調べてみると意外と動く。
▸ http://caniuse.com/#search=Es6
FRAMEWORK, ETC.
https://mochajs.org/
▸ BDD/TDDが書ける。chaiも使ってる。
▸ BDD(Behavior Driven Development)だと、
should/expect になって、
▸ TDD(Test Driven Development)だと、assert
になる。
▸ 詳しくは@ITの記事で。
▸ ちなみに、個人的な好みは BDD です。
FRAMEWORK, ETC.
フォルダ構成
▸ package.json
▸ webpack.config.js
▸ src/ - ソースフォルダ
▸ .eslint.config.js
▸ htdoc/ - 実行環境
▸ doc/ - ドキュメント
FRAMEWORK, ETC.
package.json の scripts はこんな感じ。
▸ "lint": "./node_modules/.bin/eslint src"
▸ "doc": "./node_modules/.bin/jsdoc -r -d doc -t ./node_modules/ink-
docstrap/template -R README.md src"
▸ "start": "./node_modules/.bin/webpack-dev-server --port 3000 --hot --
inlne --content-base htdoc/"
▸ "compile:dev":“NODE_ENV=develop ./node_modules/.bin/webpack --watch"
EDITOR, ETC.
https://atom.io/
▸ エディタ。
▸ code もいいけど plugin の充実度で今は atom 使ってる。
▸ 気に入った plugin に ★ を付けとけば、他の環境で一括インストール。



apm stars --install

▸ テーマは Atom Dark Slim。
▸ シンタックスは Solarized Dark。
EDITOR, ETC.
https://atom.io/packages/atom-ternjs
▸ 独自クラスのメソッドとかも suggest してく
れる plugin。
▸ jsdoc も考慮してくれる。
▸ 完璧では無いが、無いよりは圧倒的に良い。
EDITOR, ETC.
https://atom.io/packages/linter-eslint
▸ 構文チェック。
▸ 今は airbnb の設定を使ってる。
▸ apm install linter

apm install linter-eslint
▸ .eslintrc.json

{ “env" : {

"node": true, "es6": true,

"browser": true, "mocha": true },

"extends": “airbnb",

"rules": { "valid-jsdoc": 2 } }
来年は TypeScript
でライブラリ書こうかな。
@etrojan
来年は

More Related Content

What's hot (20)

PDF
neobundle.vimについて+おまけ
Shougo
 
PPTX
Clack meetup #1 lt
Atsushi Odagiri
 
KEY
EmitJSの環境をちょこっと調べた
kyon mm
 
PDF
BuddyPressの導入からカスタマイズまでの日記5
Shoichi Otomo
 
PDF
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
 
PPTX
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
PDF
Vim の開発環境
eagletmt
 
PDF
Ad stirの裏側
Seiji Ochiai
 
PDF
Traffix Jam インストール方法
kohiharu
 
PPTX
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
Kiyoshi Sawada
 
PPTX
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
Kazumi Hirose
 
PPTX
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Kazumi Hirose
 
PPTX
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
Kiyoshi Sawada
 
PPTX
jspmを使ってES6を始めてみよう
Takahiro Maki
 
PPTX
WebSocketでリアルタイム通信 (第13回学生LT資料)
stmkza
 
PDF
OSC 2016 Nagoya - MineOSのすすめ -
roamer7038
 
KEY
Js mvc
Net Kanayan
 
PDF
「とても小さいVim」vim tiny
gu4
 
PDF
自分的pkgsrcの課題
Ryo ONODERA
 
PDF
Frontend optimization dena_creativeseminar
DeNA_open_events
 
neobundle.vimについて+おまけ
Shougo
 
Clack meetup #1 lt
Atsushi Odagiri
 
EmitJSの環境をちょこっと調べた
kyon mm
 
BuddyPressの導入からカスタマイズまでの日記5
Shoichi Otomo
 
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
 
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
 
Vim の開発環境
eagletmt
 
Ad stirの裏側
Seiji Ochiai
 
Traffix Jam インストール方法
kohiharu
 
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
Kiyoshi Sawada
 
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
Kazumi Hirose
 
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Kazumi Hirose
 
EWD 3トレーニングコース#15 ewd-xpressでjQuery以外のフレームワークを利用する
Kiyoshi Sawada
 
jspmを使ってES6を始めてみよう
Takahiro Maki
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
stmkza
 
OSC 2016 Nagoya - MineOSのすすめ -
roamer7038
 
Js mvc
Net Kanayan
 
「とても小さいVim」vim tiny
gu4
 
自分的pkgsrcの課題
Ryo ONODERA
 
Frontend optimization dena_creativeseminar
DeNA_open_events
 

Viewers also liked (19)

PDF
My sql event_scheduler_casual_slideshare__
Tatsuro Hisamori
 
PDF
プログラミング言語とは ~ 非エンジニアの方へ ~
Eiji Kuroda
 
PDF
Promiseでコールバック地獄から解放された話
Sota Sugiura
 
KEY
はじめてのCouch db
Eiji Kuroda
 
PDF
HTMLElementの派生が作りたかった。
Eiji Kuroda
 
PDF
新卒のみなさんへ 〜大志のいだき方〜
Eiji Kuroda
 
PPTX
Html5j 8
Tatsuro Hisamori
 
PDF
Riakmeetup2forupload
Tatsuro Hisamori
 
KEY
Hotサービスの傾向
Eiji Kuroda
 
PPTX
SmartPhone と AdTechの世界
Eiji Kuroda
 
PDF
いまどきのチームびるでぃんぐ
Eiji Kuroda
 
PDF
YAPC::Europe 2014 に行ってきました
Tatsuro Hisamori
 
PDF
YAPCEurope2014-myfinder
Tatsuro Hisamori
 
PPTX
今更聞けないストリーム処理のあれとかこれ
Tatsuro Hisamori
 
PDF
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
 
KEY
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
Tatsuro Hisamori
 
PDF
アドテク勉強会0819
Hideya Kato
 
KEY
AdServerの仕組み
Eiji Kuroda
 
PPTX
CGI Perlでわかる!サーバレス
Tatsuro Hisamori
 
My sql event_scheduler_casual_slideshare__
Tatsuro Hisamori
 
プログラミング言語とは ~ 非エンジニアの方へ ~
Eiji Kuroda
 
Promiseでコールバック地獄から解放された話
Sota Sugiura
 
はじめてのCouch db
Eiji Kuroda
 
HTMLElementの派生が作りたかった。
Eiji Kuroda
 
新卒のみなさんへ 〜大志のいだき方〜
Eiji Kuroda
 
Riakmeetup2forupload
Tatsuro Hisamori
 
Hotサービスの傾向
Eiji Kuroda
 
SmartPhone と AdTechの世界
Eiji Kuroda
 
いまどきのチームびるでぃんぐ
Eiji Kuroda
 
YAPC::Europe 2014 に行ってきました
Tatsuro Hisamori
 
YAPCEurope2014-myfinder
Tatsuro Hisamori
 
今更聞けないストリーム処理のあれとかこれ
Tatsuro Hisamori
 
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
 
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
Tatsuro Hisamori
 
アドテク勉強会0819
Hideya Kato
 
AdServerの仕組み
Eiji Kuroda
 
CGI Perlでわかる!サーバレス
Tatsuro Hisamori
 
Ad

Similar to JS開発環境を晒す。 (20)

PPTX
オタク×Node.js勉強会
虎の穴 開発室
 
PPTX
Getting started with node.js
kouzouman
 
PDF
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
 
PDF
後期02
Takenori Nakagawa
 
PPTX
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
Kondo Hitoshi
 
PDF
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
Yusaku Kinoshita
 
PDF
第7回鹿児島Node.jsの会勉強会資料
Koichi Uchimura
 
PDF
Nodejuku01 ohtsu
Nanha Park
 
PDF
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
 
PDF
JavaScript Tips 2015(PDF 版)
taskie
 
PDF
実践 NestJS
Ayumi Goto
 
PDF
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
 
PDF
Serverside ES6@Livesense technight
Seiji Takahashi
 
PPTX
Nodejs
Masanobu Masuda
 
PDF
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Yahoo!デベロッパーネットワーク
 
PDF
後期第二回ネットワークチーム講座資料
densan_teacher
 
PDF
Java scriptの進化
maruyama097
 
ODP
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
PDF
Electron
Yoshiaki Yamada
 
PDF
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
 
オタク×Node.js勉強会
虎の穴 開発室
 
Getting started with node.js
kouzouman
 
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
 
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
Kondo Hitoshi
 
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
Yusaku Kinoshita
 
第7回鹿児島Node.jsの会勉強会資料
Koichi Uchimura
 
Nodejuku01 ohtsu
Nanha Park
 
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
 
JavaScript Tips 2015(PDF 版)
taskie
 
実践 NestJS
Ayumi Goto
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
 
Serverside ES6@Livesense technight
Seiji Takahashi
 
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
Yahoo!デベロッパーネットワーク
 
後期第二回ネットワークチーム講座資料
densan_teacher
 
Java scriptの進化
maruyama097
 
今流行りのウェブアプリ開発環境Yeoman
tomo_masakura
 
Electron
Yoshiaki Yamada
 
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
 
Ad

JS開発環境を晒す。