teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/11/18 11:09

投稿

NozomuIkuta
NozomuIkuta

スコア1260

answer CHANGED
@@ -12,4 +12,35 @@
12
12
 
13
13
  `xxx`はファイルパスです。
14
14
  `head`という設定の名前がややこしいですが、Nuxt.jsが`vue-meta`というライブラリを利用していて、そのライブラリで使える設定が使えるということです。
15
- そちらのライブラリも調べてみてください。
15
+ そちらのライブラリも調べてみてください。
16
+
17
+ ## 追記(2018/11/18)
18
+ 質問の意図をうまく汲み取れていない部分がありましたので、追記します。
19
+
20
+ 質問の「全ページに適用したい処理が書いているcommon.js」については、以下の対応が考えられます。
21
+
22
+ 「Vueアプリケーションが実行される前に何かしたい」場合は、
23
+ `/plugins/common.js`を作成し`nuxt.config.js`の`plugins`にパスを記述してください([参考](https://ja.nuxtjs.org/api/configuration-plugins/))。
24
+
25
+ 「Vueアプリケーションでルーティングが行われるタイミングで何かしたい」場合は、
26
+ `/middleware/common.js`を作成して、コンポーネントのファイルに設定してください([参考1](https://ja.nuxtjs.org/api/pages-middleware)、[参考2](https://ja.nuxtjs.org/guide/routing#%E3%83%9F%E3%83%89%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2))。
27
+
28
+ もしくは[モジュール](https://ja.nuxtjs.org/guide/modules)が求めているものかもしれませんが、
29
+ 長くなるので説明は省略します。
30
+
31
+ ---
32
+
33
+ `assets`については、以下の説明をもって最初の回答を訂正いたします。
34
+
35
+ `/assets`ディレクトリにあるものは、ビルドする際にwebpackで操作されることを意図しています。
36
+ また、`/assets`ディレクトリには画像やCSSをいれておくのが、本来Nuxtが意図した使い方です。
37
+
38
+ webpackで操作されることを意図しないファイルは`/static`ディレクトリに配置してください。
39
+ `/static/xxx`は、ビルド時に`/xxx`として、そのままコピーされます。
40
+ faviconなどはビルドの必要が無いのでここが自然です。
41
+
42
+ `assets`と`static`については[こちら](https://ja.nuxtjs.org/guide/assets)を参照してください。
43
+
44
+ ---
45
+
46
+ okpkさんのおっしゃる通り、`nuxt.config.js`の`head`プロパティには、CDNで配布されているライブラリなどをwebpackのビルドファイルに含まずにリンクする場合に有用です。