Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 4202368

Browse files
authored
Merge pull request #256 from Atinux/gitlocalize-243
ja/guide/plugins.md
2 parents 0000755 + 2cbd0c6 commit 4202368

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

ja/guide/plugins.md

+6-9
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ description: Nuxt.js では js プラグインを定義することができ、
55

66
> Nuxt.js では js プラグインを定義することができ、それはルートの Vue.js アプリケーションがインスタンス化される前に実行されます。プラグインとして自前のライブラリを指定することも、外部のモジュールを指定することもできます。
77
8+
89
<div class="Alert">Vue インスタンスの [ライフサイクル](https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram) において、`beforeCreate` と `created` フックのみが **クライアントサイドとサーバーサイドの両方** で呼び出されることに注意してください。それ以外のすべてのフックはクライアントサイドでのみ呼び出されます。</div>
910

11+
1012
## 外部パッケージの利用
1113

1214
アプリケーションに外部パッケージ/モジュールを使いたいときがあるでしょう。例えばサーバーでもクライアントでも HTTP リクエストを送れる [axios](https://github.com/mzabriskie/axios) などが良い例です。
@@ -23,10 +25,8 @@ npm install --save axios
2325
<template>
2426
<h1>{{ title }}</h1>
2527
</template>
26-
2728
<script>
2829
import axios from 'axios'
29-
3030
export default {
3131
async data ({ params }) {
3232
let { data } = await axios.get(`https://my-api/posts/${params.id}`)
@@ -57,15 +57,14 @@ module.exports = {
5757
```js
5858
import Vue from 'vue'
5959
import VueNotifications from 'vue-notifications'
60-
6160
Vue.use(VueNotifications)
6261
```
6362

6463
それから `nuxt.config.js``plugins` キーにファイルを記述します:
6564

6665
```js
6766
module.exports = {
68-
plugins: ['~plugins/vue-notifications']
67+
plugins: ['~/plugins/vue-notifications']
6968
}
7069
```
7170

@@ -94,13 +93,10 @@ module.exports = {
9493
import Vue from 'vue'
9594
import VueI18n from 'vue-i18n'
9695
import store from '~store'
97-
9896
Vue.use(VueI18n)
99-
10097
const i18n = new VueI18n({
10198
/* ここにオプションを書きます */
10299
})
103-
104100
export default i18n
105101
```
106102

@@ -122,7 +118,7 @@ module.exports = {
122118

123119
## クライアントサイド限定のプラグイン利用
124120

125-
プラグインのいくつかは **ブラウザでのみ** 動かしたいとします。その場合は `plugins` 内の `ssr: false` オプションを使うと、プラグインをクライアントサイドでのみ実行させるが可能です
121+
プラグインのいくつかは **ブラウザでのみ** 動かしたいとします。その場合は `plugins` 内の `ssr: false` オプションを使うと、プラグインをクライアントサイドでのみ実行させることが可能です
126122

127123
例:
128124

@@ -141,8 +137,9 @@ module.exports = {
141137
```js
142138
import Vue from 'vue'
143139
import VueNotifications from 'vue-notifications'
144-
145140
Vue.use(VueNotifications)
146141
```
147142

148143
逆に、サーバーサイドでのみライブラリを読み込む必要がある場合は、`process.server` 変数を使うことができます。これは Webpack が `server.bundle.js` ファイルを作成するタイミングで `true` がセットされる変数です。
144+
145+
また、もしあなたが生成されたアプリケーション (`nuxt generate` コマンドによって) の中にいるかどうか知る必要がある場合は、生成から以降ずっと `process.static` 変数に `true` がセットされているかでチェックできます。保存前に `nuxt generate` コマンドによって、ページがサーバレンダリングされている時の状態を知るには、`process.static && process.server` を使うことができます。

0 commit comments

Comments
 (0)