SAHARA

bower-rails README (日本語訳)

更新回数:2回 | 2015/11/02更新
編集者:Thumb img 0

 このページでは、bower-railsのREADMEを翻訳したものを載せています。

bower-rails

Railsプロジェクトでbowerを使用できるようにします。依存ファイルはRailsのルートにbower.jsonとして配置するか、DSLを使用する場合はBowerfileとして配置してください。チェンジログで最新の変更を確認できます。

必要条件

  • node
  • bower (>= 0.10.0) npmを使用しインストール

ノート:sudo apt-get install nodejsコマンドでパッケージマネージャーを使いnodeをインストールした場合、sudo apt-get install nodejs-legacyコマンドでnodejs-legacyをインストールしてください。

インストール

gemfileに追加。

  gem "bower-rails", "~> 0.10.0"


JSON構成

Bower-railsはbowerパッケージ標準のout-of-the-boxというフォーマットをサポートしてます。方法は単にbower.jsonファイルをRailsのルートに配置します。標準フォーマットを使用すると、bowerコンポーネントはデフォルトでvendorディレクトリにインストールされます。

依存関係をlibvendorディレクトリにインストールするために、以下のinitializerを走らせカスタムされたbower.jsonを生成してください。

  rails g bower_rails:initialize json

これはconfig/initializers/bower_rails.rbに設定ファイルを生成し、2つの基本的なbowerパッケージの入ったbower.jsonを生成します。それらのようなパッケージをインストールするには単にそれらのパッケージをインストールするフォルダ名の下に配置してください。

bower.jsonの例

{
   "lib": {
    "name": "bower-rails generated lib assets",
    "dependencies": {
      "threex": "git@github.com:rharriso/threex.git",
      "gsvpano.js": "https://github.com/rharriso/GSVPano.js/blob/master/src/GSVPano.js"
    }
  },
  "vendor": {
    "name": "bower-rails generated vendor assets",
    "dependencies": {
      "three.js": "https://raw.github.com/mrdoob/three.js/master/build/three.js"
    }
  }
}


アッセトパイプラインに含める

// Bower packages
//= require d3/d3
//= require underscore/underscore
//


Ruby DSL

Ruby DSLはBundlerのようなDSL構文で、プロジェクトのルートにBowerfileとして配置します。

RailsのルートにBowerfileを、config/initializers/bower_rails.rbに設定ファイルを生成します。

rails g bower_rails:initialize


Bowerfileの例

デフォルトでは ./vendor/assets/bower_componentsディレクトリにassetsが吐き出されます。

# Puts to ./vendor/assets/bower_components
asset "backbone"
asset "moment", "2.0.0" # get exactly version 2.0.0
asset "secret_styles", "git@github.com:initech/secret_styles" # get from a git repo

# get from a git repo using the tag 1.0.0
asset "secret_logic", "1.0.0", git: "git@github.com:initech/secret_logic"

# get from a github repo
asset "secret_logic", "1.0.0", github: "initech/secret_logic"

# get a specific revision from a git endpoint
asset "secret_logic", github: "initech/secret_logic", ref: '0adff'

# get a single file
asset "three.js", "https://raw.github.com/mrdoob/three.js/master/build/three.js"

assets_pathメソッドによってデフォルトの値を上書きできます。

assets_path "assets/my_javascripts"

# Puts to ./vendor/assets/my_javascripts/bower_components
asset "backbone"
asset "moment"

assets_pathメソッドはgroupのオプションで上書きできます。

assets_path "assets/javascript"

# Puts files under ./vendor/assets/js/bower_components
group :vendor, :assets_path => "assets/js"  do
  asset "jquery"            # Defaults to 'latest'
  asset "backbone", "1.1.1"
end

# Puts files under ./lib/assets/javascript/bower_components
group :lib do
  asset "jquery"
  asset "backbone", "1.1.1"
end

注:利用可能なグループは:lib:vendorです。その他はRailsの規則によって許可されていません。注:全てのassetsは/assetsのサブディレクトリに置かれる必要があり./vendor/jsディレクトリは使用できません。

You can extend main directive to include some missing files using main_files option as parameter or in a block:

# via argument
asset "moment", "2.10.1", main_files: ["./locale/en-gb.js"]

# or in block
asset "moment", "2.10.1" do
  main_files [
    "./locale/en-gb.js",
    "./locale/fr.js",
    "./locale/lv.js"
  ]
end

And finally, you can specify the assets to be in the devDependencies block:

asset "backbone", "1.1.1"

# Adds jasmine-sinon and jasmine-matchers to devDependencies
dependency_group :dev_dependencies  do
  asset "jasmine-sinon"            # Defaults to 'latest'
  asset "jasmine-matchers"         # Defaults to 'latest'
end

# Explicit dependency group notation ( not neccessary )
dependency_group :dependencies  do
  asset "emberjs"                  # Defaults to 'latest'
end

results in the following bower.json file:

{
  "name": "dsl-generated dependencies",
  "dependencies": {
    "backbone": "1.1.1",
    "angular": "1.2.18",
  },
  "devDependencies": {
    "jasmine-sinon": "latest",
    "jasmine-matchers": "latest"
  }
}

NOTE: Available dependency groups are :dependencies (default) and :dev_dependencies. Others are not allowed according to the Rails convention.

[まだ未完成です。是非とも編集に参加してください。]


発言はまだありません。
発言するにはログインもしくは、会員登録をしてください。