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

PDF
PDF
JasmineによるJavascriptテスト駆動開発
PDF
Vimはこわくない
PDF
配布用Supervisordによるnode.jsの運用
PDF
Vagrant packana16-otahi
PDF
HTML5-pronama-study
PPT
Flash Playerの作り方
PDF
How To Drink Wsgi
JasmineによるJavascriptテスト駆動開発
Vimはこわくない
配布用Supervisordによるnode.jsの運用
Vagrant packana16-otahi
HTML5-pronama-study
Flash Playerの作り方
How To Drink Wsgi

What's hot (20)

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

Viewers also liked (19)

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

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

PPTX
オタク×Node.js勉強会
PPTX
Getting started with node.js
PDF
Node.js Tutorial at Hiroshima
PDF
PPTX
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
PDF
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
PDF
第7回鹿児島Node.jsの会勉強会資料
PDF
Nodejuku01 ohtsu
PDF
Node.js を選ぶとき 選ばないとき
PDF
JavaScript Tips 2015(PDF 版)
PDF
実践 NestJS
PDF
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
PDF
Serverside ES6@Livesense technight
PPTX
PDF
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
PDF
後期第二回ネットワークチーム講座資料
PDF
Java scriptの進化
ODP
今流行りのウェブアプリ開発環境Yeoman
PDF
Electron
PDF
Node.jsでブラウザメッセンジャー
オタク×Node.js勉強会
Getting started with node.js
Node.js Tutorial at Hiroshima
キャッチアップJavaScriptビルド - ビルドから見るJSの今/2016春
非エンジニアが MENstackでWebアプリをつくった話 #nodejs
第7回鹿児島Node.jsの会勉強会資料
Nodejuku01 ohtsu
Node.js を選ぶとき 選ばないとき
JavaScript Tips 2015(PDF 版)
実践 NestJS
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Serverside ES6@Livesense technight
ぼく(たち)のかんがえた最新のJS開発環境 #scripty04
後期第二回ネットワークチーム講座資料
Java scriptの進化
今流行りのウェブアプリ開発環境Yeoman
Electron
Node.jsでブラウザメッセンジャー

JS開発環境を晒す。