Skip to content
Kei Funagayama edited this page Jan 29, 2014 · 2 revisions

Summary

beezには大きく2つの設定ファイルがあります。

  • [env].json
    • 実行・ビルドに利用する設定ファイル
  • [env]/[key].json
    • キー別の設定ファイル
  • build.[env].js
    • ビルドの設定ファイル

[env]

ローカル版、開発版、リリース版と言った環境別に設定を分けて管理するための 名前

[key]

[env] の中に更に、圧縮版、非圧縮版、issue版といった、キー別に設定を分けて管理するための キー

conf/[env].json

Env 設定ファイル を参照ください。

conf/[env]/[key].json

conf/[env] フォルダで include でされる json の内容について説明します。

今回は、develop.json (開発設定) と release.json (リリース設定) の2つの設定ファイルを例に説明します。

設定ファイルでは [key] として、ファイル名で指定した develop or release を定義します。

[env], [key]は、いくつあっても問題ありません

[env] and [key] マッピング

beezで自動生成されるファイルは、[env], [key] と密接に関係しています。

s/index

実行時の起点となる s/index サブモジュールでは、HTMLファイルとrequire.config + beez setting ファイルを自動生成しています。

s/index サブモジュールや、index.html.hbs, require.beez.js.hbs` については、サブモジュールのページ を参照

自動生成

index.html.hbs

起点となるHTML file

[env], [key] から、設定ファイル(conf/[env].json, conf/[env]/[key].json) を取得し index.html.hbs を Mapping し、ファイルを自動生成します。

Original Format Destination
index.html.hbs [env].[key].html local.develop.html
index.html.hbs [env].[key].html local.release.html

自動生成

require.beez.js.hbs

[env], [key] から、設定ファイル(conf/[env].json, conf/[env]/[key].json) を取得し require.beez.js.hbs を Mapping し、ファイルを自動生成します。

Original Format Destination
require.beez.js.hbs require.beez.[env][type].js require.beez.local.develop.js
require.beez.js.hbs require.beez.[env][type].js require.beez.local.release.js

TIPS

JSON コメント

beezbeez-foundation で使用するすべてのJSONファイルには、コメントを記述することが出来ます。

詳細は JSON.minify を参照ください。

JSONファイルをJSファイルで記述

beezbeez-foundation で使用するすべてのJSONファイルには、コメントを記述することが出来ます。

拡張子を .json -> .js に変更し、設定ファイルを下記のフォーマットで記述します。

(function () {

    // ここでは、Node.js's global object が利用可能です。
    // 'process', 'require', '__filename', '__dirname', 'module', 'exports'

    var fs = require('fs'); // example

    return {
        "app": {
            "stat": {
                "compress": true,
                "port": 1109,
                "header": {},
                "include": {
                    "path": "./local",
                    "from": null
                }
            },

            "mock": {
                "use": true,
                "compress": true,
                "port": 1121,
                "include": { // RESTful information
                    "path": "./mockdata" // mockdata directory
                },
                "header": {}
            }

.............................
        }
    };
}());

Clone this wiki locally