diff --git a/docs/LANGS.md b/docs/LANGS.md index da850e148..4e23e5549 100644 --- a/docs/LANGS.md +++ b/docs/LANGS.md @@ -1,4 +1,5 @@ * [English](en/) * [한국어](kr/) * [Русский](ru/) -* [Português](pt_BR/) \ No newline at end of file +* [Português](pt_BR/) +* [日本語](ja/) diff --git a/docs/ja/README.md b/docs/ja/README.md new file mode 100644 index 000000000..c80aa4030 --- /dev/null +++ b/docs/ja/README.md @@ -0,0 +1,38 @@ +# はじめに + +### `vue-loader` とは ? + +`vue-loader` とは以下の形式で記述された Vue コンポーネントをプレーンな JavaScript モジュールに変換する Webpack の loader です。 + +![screenshot](http://blog.evanyou.me/images/vue-component.png) + +`vue-loader` によって多くのクールな機能が提供されます: + +- デフォルトで ES2015 が有効; +- ` +``` + +#### webpack.config.js + +``` js +// Webpack 2.x +var ExtractTextPlugin = require("extract-text-webpack-plugin") + +module.exports = { + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue', + options: { + loaders: { + // 全ての の内容は raw text として展開されます + 'docs': ExtractTextPlugin.extract('raw-loader'), + } + } + } + ] + }, + plugins: [ + // 全ての docs は一つのファイルに出力されます + new ExtractTextPlugin('docs.md') + ] +} +``` diff --git a/docs/ja/configurations/extract-css.md b/docs/ja/configurations/extract-css.md new file mode 100644 index 000000000..3d3115550 --- /dev/null +++ b/docs/ja/configurations/extract-css.md @@ -0,0 +1,70 @@ +# CSS を単一のファイルに抽出する + +すべての Vue コンポーネントで処理されたすべての CSS を1つの CSS ファイルに抽出する例: + +### Webpack 2.x + +``` bash +npm install extract-text-webpack-plugin@2.x --save-dev +``` + +``` js +// webpack.config.js +var ExtractTextPlugin = require("extract-text-webpack-plugin") + +module.exports = { + // 他の設定 + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue-loader', + options: { + loaders: { + css: ExtractTextPlugin.extract({ + use: 'css-loader', + fallback: 'vue-style-loader' // <- これは vue-loader の依存ですので、npm3 を使用している場合は明示的にインストールする必要はありません + }) + } + } + } + ] + }, + plugins: [ + new ExtractTextPlugin("style.css") + ] +} +``` + +### Webpack 1.x + +``` bash +npm install extract-text-webpack-plugin --save-dev +``` + +``` js +// webpack.config.js +var ExtractTextPlugin = require("extract-text-webpack-plugin") + +module.exports = { + // 他の設定 + module: { + loaders: [ + { + test: /\.vue$/, + loader: 'vue' + }, + ] + }, + vue: { + loaders: { + css: ExtractTextPlugin.extract("css"), + // +``` + + ` +``` + +ただこれにより Vue コンポーネントが Webpack 固有となり Browserify および [vueify](https://github.com/vuejs/vueify) と互換性がなくなります。 **Vue コンポーネントを再利用可能なサードパーティコンポーネントとして提供する場合は、この構文を使用しないでください。** diff --git a/docs/ja/features/css-modules.md b/docs/ja/features/css-modules.md new file mode 100644 index 000000000..8dd753f7b --- /dev/null +++ b/docs/ja/features/css-modules.md @@ -0,0 +1,117 @@ +# CSS モジュール + +> バージョン ^9.8.0 が必要 + +[CSS モジュール](https://github.com/css-modules/css-modules) は CSS をモジュール化して構成するための一般的なシステムです。`vue-loader` はシミュレートされたスコープ付き CSS の代わりに CSS モジュールの一流の統合を提供します。 + +### 使い方 + +`module` 属性を ` +``` + +`css-loader` の CSS モジュールモードを有効にし、その結果クラス識別子オブジェクトは `$style` という名前の算出プロパティとしてコンポーネントに注入されます。ダイナミッククラスバインディングを利用してテンプレートで使用可能になります。 + +``` html + +``` + +これは算出プロパティなので、`:class` の オブジェクト/配列 構文でも動作します: + +``` html + +``` + +そして JavaScript からもアクセス可能です: + +``` html + +``` + +[CSS Modules spec](https://github.com/css-modules/css-modules) を参照してください。モードの詳細については [global exceptions](https://github.com/css-modules/css-modules#exceptions) と [composition](https://github.com/css-modules/css-modules#composition)を参照してください。 + +### カスタム代入 + +単一の `*.vue` コンポーネントは複数の ` + + +``` + +### `css-loader` クエリの設定 + +CSS モジュールは [css-loader](https://github.com/webpack/css-loader) によって処理されます。` + + +``` + +以下の通りになります: + +``` html + + + +``` + +#### 注意 + +1. 同じコンポーネント内にスコープで区切られてものとそうでないスタイルを含むことが出来ます: + + ``` html + + + + ``` + +2. 子コンポーネントのルートノードは親のスコープの CSS と子のスコープの CSS の両方の影響をうけます。 + +3. パーシャルはスコープ付きスタイルの影響をうけません。 + +4. **スコープされたスタイルは class の必要性を排除しません**。ブラウザが様々な CSS セレクタをレンダリングするため、`p { color: red }` はスコープされているとき何倍も遅くなります(すなわち属性セレクタと組み合わせた場合)。もし `.example { color: red }` のように class か id を使用するなら、パフォーマンスヒットは事実上なくなります。[この例](http://stevesouders.com/efws/css-selectors/csscreate.php)で違いをテストすることが出来ます。 + +5. **再帰されたコンポーネントの子孫セレクタには気をつけてください!** セレクタ `.a .b` を持つ CSS ルールの場合、`.a` にマッチする要素に再帰的な子コンポーネントが含まれている場合、その子コンポーネントのすべての `.b` はルールにマッチします。 diff --git a/docs/ja/options.md b/docs/ja/options.md new file mode 100644 index 000000000..413551db4 --- /dev/null +++ b/docs/ja/options.md @@ -0,0 +1,187 @@ +# オプションリファレンス + +## Webpack 1と2の使い方の違い + +Webpack 2 の場合:オプションを loader ルールに直接渡します。 + +``` js +module.exports = { + // ... + module: { + rules: [ + { + test: /\.vue$/, + loader: 'vue-loader', + options: { + // vue-loader オプション + } + } + ] + } +} +``` + +Webpack 1.x の場合: Webpack の設定のルートに `vue` ブロックを追加します。 + +``` js +module.exports = { + // ... + vue: { + // vue-loader オプション + } +} +``` + +### loaders + +- 型: `{ [lang: string]: string }` + + `* .vue` ファイル内の言語ブロックに使用されるデフォルトの loader を上書きする Webpack loader を指定するオブジェクト。キーは指定されている場合、言語ブロックの `lang` 属性に対応します。各タイプのデフォルトの `lang` は次のとおりです: + + - `