ModuleContainer クラス
- ソース: core/module.js
すべてのモジュール は ModuleContainer インスタンスのコンテキストの中で呼ばれます。
Tapable プラグイン
特定のライフサイクルイベントでフックを登録できます。
nuxt.moduleContainer.plugin('ready', async moduleContainer => {
// すべてのモジュールの準備ができたらこの処理を実行します
})
モジュール コンテキストの中では代わりに以下のようにできます:
this.plugin('ready', async moduleContainer => {
// すべてのモジュールの準備ができたらこの処理を実行します
})
| プラグイン | 引数 | タイミング |
|---|---|---|
ready |
moduleContainer | nuxt.config.js にあるすべてのモジュールが初期化されたとき |
メソッド
addVendor (vendor)
vendor は使われていないので非推奨です
options.build.vendor に追加し、一意なフィルタを適用します。
addTemplate (template)
-
template:
StringまたはObject-
src -
options -
fileName
-
プロジェクトの buildDir(.nuxt)へビルド中に、lodash template を使って与えられたテンプレートをレンダリングします。
fileName を与えないか template が文字列の場合、ターゲットのファイル名はデフォルトで [dirName].[fileName].[pathHash].[ext] になります。
このメソッドは最終的な { dst, src, options } オブジェクトを返します。
addPlugin (template)
-
template: オブジェクトプロパティ (
src、options、fileName、mode)。
addTemplate を使ってプラグインを登録し、plugins[] 配列の先頭に追加します。
this.addPlugin({
src: path.resolve(__dirname, 'templates/foo.js'),
fileName: 'foo.server.js' // [optional] はサーバーバンドルにのみ含まれます
options: moduleOptions
})
注意: プラグインをクライアントサイドまたはサーバーサイドでのみ使う場合は mode または .client と .server 修飾子を fileName オプションと共に使えます(利用可能なオプションについては plugins を参照してください)。
fileName を指定する場合、fileName にカスタムパスを設定できます。名前の衝突を防ぐため .nuxt フォルダ内のフォルダ構成を選択できます:
{
fileName: path.join('folder', 'foo.client.js'), // 結果は `.nuxt/folder/foo.client.js` になります
}
addServerMiddleware (middleware)
options.serverMiddleware にミドルウェアをプッシュします。
extendBuild (fn)
options.build.extend 関数をつなげることで webpack のビルド設定を簡単に拡張できます。
extendRoutes (fn)
options.build.extendRoutes 関数をつなげることでルートを簡単に拡張できます。
addModule (moduleOpts, requireOnce)
非同期関数
モジュールを登録します。moduleOpts は文字列または配列([src, options])です。requireOnce が true で解決されたモジュールが meta をエクスポートしている場合に、同じモジュールが二度登録されるのを回避します。
requireModule (moduleOpts)
非同期関数
addModule(moduleOpts, true) の短縮形です。
フック
特定のライフサイクルイベントでフックを登録できます。
| フック | 引数 | タイミング |
|---|---|---|
modules:before |
(moduleContainer, options) | ModuleContainer クラスが作られる前に呼ばれ、メソッドとオプションのオーバーロードに役立ちます。 |
modules:done |
(moduleContainer) | すべてのモジュールがロードされたときに呼ばれます。 |
Sébastien Chopin
Nazaré da Piedade
Nobu
川音리오
Maciek Palmowski
Nestor Vera
Daniel Roe
Yue Yang
Jeronimas
Clément Ollivier
Alexander Lichter
N3-rd
Adrien Zaganelli
Mag
Stefan Huber
Olga Bulat
Paiva
Florian Reuschel
Savas Vedova
HIJACK
Vinícius Alves
Kareem Dabbeet
Valentín Costa
Ryan Skinner
Alex Hirzel
Ajeet Chaulagain
René Eschke
Nico Devs
Muhammad
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Bobby
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian Lefebvre
Lucas Recoaro
Julien SEIXAS