SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
About
Require.js
Kyohei Morimoto
アジェンダ
- Require.jsって?
- 何ができるか?
- 使い方
- 課題
現状の問題点
‣ フロントエンド開発の複雑化
‣ 多量のライブラリが必要

(jquery underscore backbone + plugins)
‣ モジュール開発
‣ ブラウザで適切なライブラリは4∼8程度
‣ 全部読み込むまではブラウザは表示されない
index.
html
app.js
lib3
lib4
lib1
lib2
mod1
mod2
mod3
‣ 読み込む量が多くて大変
‣ パフォーマンスも悪い
‣ ※CAは10000行のJSをBB化した
ら、90ファイルになったそうな…
app.js
lib3 lib4
lib1
lib2
mod1
mod2
mod3
‣ 読み込み順番や依存関係がある
‣ 本来読み込まなくて良い物まで読み
込んでいたりする
‣ 特にSPA
Require.js
app.js
lib3 lib4
lib1
lib2
mod1
mod2
mod3
‣ 必要なライブラリやモジュールだけ
を読むようにしてくれる
‣ 読み込むものをまとめてくれる
使い方
<script data-main="app" src="js/vender/require.js"></script>
使い方:Requireの設定
requirejs.config({
baseUrl : 'js',
paths : {  // 読み込み先のパスを設定できる
// '/'または'http'から始まると絶対パスで参照する
jquery : [
'lib/jquery.min',
],
underscore : [
'lib/underscore-min',
],
backbone :'lib/backbone-min'
},
shim : { //AMDに対応してないものを対応させる
underscore : {
exports : _' //jqueryだったら、$
},
}
});
おさらい
‣ baseUrl:ルートのパスを設定
‣ paths:で利用するライブラリのpathsを設定する
‣ shim:AMDに対応してないライブラリを対応させる
使い方:モジュールの定義
define(['backbone'], function (Backbone) {
console.log(Backbone === window.Backbone); // true
});
使い方:モジュールの定義(何か値を返す)
define(['backbone'], function (Backbone) {
var myModule = Backbone.Model.extend({});
return myModule
});
おさらい
define([ 使うライブラリ ],function(ライブラリ名){
//処理
});
!
‣ 読み込み時に必要なライブラリを設定する
使い方:モジュールの呼び出し
require([ foo ],functions(foo){
foo.doSomething();
});
おさらい
‣defineとよく似てる
‣defineは依存で、requireは取得のイメージ
‣clickイベントなどに紐付けると後からファイルを取
得することができたりする
Demo
課題
app.js
jquery
index.
html
Back

Bone
under
Score
moment
highcha
rts
view.js
model.jsclickEvent
alert( Hello World )
各種依存関係

Contenu connexe

Tendances

Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
 
Type scriptmemo
Type scriptmemoType scriptmemo
Type scriptmemo
ytanno
 

Tendances (20)

2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
まだ DOM 操作で消耗してるの?
まだ DOM 操作で消耗してるの?まだ DOM 操作で消耗してるの?
まだ DOM 操作で消耗してるの?
 
Yesod勉強会
Yesod勉強会Yesod勉強会
Yesod勉強会
 
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようVagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
 
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
Blog=pelican+bit bucket+docker
Blog=pelican+bit bucket+dockerBlog=pelican+bit bucket+docker
Blog=pelican+bit bucket+docker
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
mrbcもマイコンの上で
mrbcもマイコンの上でmrbcもマイコンの上で
mrbcもマイコンの上で
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
 
Service worker が拓く mobile web の新しいかたち
Service worker が拓く mobile web の新しいかたちService worker が拓く mobile web の新しいかたち
Service worker が拓く mobile web の新しいかたち
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
オフラインファーストの思想と実践
オフラインファーストの思想と実践オフラインファーストの思想と実践
オフラインファーストの思想と実践
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
React+fluxを導入した話
React+fluxを導入した話React+fluxを導入した話
React+fluxを導入した話
 
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発
 
Type scriptmemo
Type scriptmemoType scriptmemo
Type scriptmemo
 
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリングReact Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
 
SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」SIROK技術勉強会 #1 「Reactってなんだ?」
SIROK技術勉強会 #1 「Reactってなんだ?」
 

Similaire à About Reauire.js

DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
Yuki KAN
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.js
ishiki-takai
 

Similaire à About Reauire.js (20)

Spring.project
Spring.projectSpring.project
Spring.project
 
Common Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろうCommon Lisp でビッグデータを作ろう
Common Lisp でビッグデータを作ろう
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
Java in the World of Container by David Buck
Java in the World of Container by David BuckJava in the World of Container by David Buck
Java in the World of Container by David Buck
 
serverless
serverlessserverless
serverless
 
Web制作勉強会 #2
Web制作勉強会 #2Web制作勉強会 #2
Web制作勉強会 #2
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
 
JavaScript 研修
JavaScript 研修JavaScript 研修
JavaScript 研修
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.js
 
地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント地方企業がソーシャルゲーム開発を成功させるための10のポイント
地方企業がソーシャルゲーム開発を成功させるための10のポイント
 
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
 
Cockatoo
CockatooCockatoo
Cockatoo
 
Albatross
AlbatrossAlbatross
Albatross
 
React es2015
React es2015React es2015
React es2015
 
Zynga
ZyngaZynga
Zynga
 

Dernier

Dernier (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

About Reauire.js