modules プロパティ
モジュールは Nuxt のコア機能を拡張し、無限のインテグレーションを加える Nuxt の拡張機能です。詳細はこちら
-
型:
Array
例 (nuxt.config.js
):
export default {
modules: [
// パッケージ名を使う
'@nuxtjs/axios',
// プロジェクトの srcDir からの相対パス
'~/modules/awesome.js',
// オプションを渡す
['@nuxtjs/google-analytics', { ua: 'X1234567' }],
// インラインで定義
function () {}
]
}
モジュール開発者は通常、追加で必要なステップや使用方法の詳細を提供します。
Nuxt は node の読み込みパス(node_modules
の中)を用いてモジュール配列内の各要素を解決しようとします。~
エイリアスが使用されている場合、プロジェクトの srcDir
から解決されます。モジュールは順番に実行されるため、順序が重要です。
注意: モジュールによって注入されたプラグインは、プラグインリストの 先頭 に追加されます。オプションとして:
-
自分のプラグインをプラグインリストの最後に手動で追加します(
this.nuxt.options.plugins.push(...
) - 他のモジュールに依存している場合、モジュールの順序を逆にします
モジュールは nuxt のビルド/ランタイムを強化する機能をエクスポートし、必要に応じてそれらのジョブが完了するまで promise を返却する必要があります。実行時に必要とされるので、最新の ES6 機能に依存する場合には、すでにトランスパイルされている必要があることに注意して下さい。
モジュールの仕組みや独自のモジュール開発に興味がある場合、より詳細な情報についてはモジュールガイド を参照して下さい。また、公式のモジュール セクションでは Nuxt Community によって作られた数多くの本番用モジュールの一覧を提供しています。
buildModules
一部のモジュールは開発時およびビルド時にのみ必要になります。buildModules
を使うことで本番環境の起動を速くし、本番環境にデプロイされる node_modules
のサイズを大幅に減らすことができます。それぞれのモジュールのドキュメントを参照して、modules
と buildModules
どちらを使うのが推奨されているかを確認してください。
使用方法の違いは以下のとおりです:
-
nuxt.config.js
にmodules
を追加するかわりにbuildModules
を使います -
package.json
にdependencies
を追加するかわりにdevDependencies
を使います(yarn add --dev
またはnpm install --save-dev
)
![Sébastien Chopin](/_nuxt/image/e847b9.png)
![Nazaré da Piedade](/_nuxt/image/d5c785.png)
![Nobu](/_nuxt/image/888ba6.png)
![川音리오](/_nuxt/image/345a82.png)
![Maciek Palmowski](/_nuxt/image/2bdab1.png)
![Nestor Vera](/_nuxt/image/b6ef28.png)
![Daniel Roe](/_nuxt/image/0786f3.png)
![Yue Yang](/_nuxt/image/40c994.png)
![Jeronimas](/_nuxt/image/ba9a98.png)
![Clément Ollivier](/_nuxt/image/77339c.png)
![Alexander Lichter](/_nuxt/image/073577.png)
![N3-rd](/_nuxt/image/20bdf5.png)
![Adrien Zaganelli](/_nuxt/image/c3f019.png)
![Mag](/_nuxt/image/1fe278.png)
![Stefan Huber](/_nuxt/image/c3653a.png)
![Olga Bulat](/_nuxt/image/e50af3.png)
![Paiva](/_nuxt/image/ea02f0.png)
![Florian Reuschel](/_nuxt/image/ee31ca.png)
![Savas Vedova](/_nuxt/image/d403a7.png)
![HIJACK](/_nuxt/image/d0b78e.png)
![Vinícius Alves](/_nuxt/image/ba75e5.png)
![Kareem Dabbeet](/_nuxt/image/c79dfa.png)
![Valentín Costa](/_nuxt/image/3dd0d7.png)
![Ryan Skinner](/_nuxt/image/ec2d86.png)
![Alex Hirzel](/_nuxt/image/980fb6.png)
![Ajeet Chaulagain](/_nuxt/image/2fb9d1.png)
![René Eschke](/_nuxt/image/ddfbaa.png)
![Nico Devs](/_nuxt/image/5fa1fe.png)
![Muhammad](/_nuxt/image/76bed9.png)
![Naoki Hamada](/_nuxt/image/475300.png)
![Tom](/_nuxt/image/aae9cc.png)
![Yann Aufray](/_nuxt/image/305a71.png)
![Anthony Chu](/_nuxt/image/027d85.png)
![Nuzhat Minhaz](/_nuxt/image/431077.png)
![Lucas Portet](/_nuxt/image/260cbe.png)
![Richard Schloss](/_nuxt/image/7f63ae.png)
![Bobby](/_nuxt/image/42cdae.png)
![bpy](/_nuxt/image/ecc096.png)
![Antony Konstantinidis](/_nuxt/image/1434b0.png)
![Hibariya](/_nuxt/image/febb5a.png)
![Jose Seabra](/_nuxt/image/ede04e.png)
![Eze](/_nuxt/image/f22c13.png)
![Florian Lefebvre](/_nuxt/image/e3705e.png)
![Lucas Recoaro](/_nuxt/image/8cdc5c.png)
![Julien SEIXAS](/_nuxt/image/40a795.png)