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) | すべてのモジュールがロードされたときに呼ばれます。 |
Clément Ollivier
Daniel Roe
Alex Hirzel
Ajeet Chaulagain
René Eschke
Sébastien Chopin
Nico Devs
Muhammad
Nazaré da Piedade
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Xanzhu
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian LEFEBVRE
Lucas
Julien SEIXAS
Hugo
Sylvain Marroufin
Spencer Cooley
Piotr Zatorski
Vladimir Semenov
Harry Allen
kazuya kawaguchi
Unai Mengual
Hyunseung Lee
Alexandre Chopin
pooya parsa
Nick Medrano
Mosaab Emam
Iljs Путлер Капут
Heitor Ramon Ribeiro
Nero
Yoon Han
Ikko Ashimine
FamCodings
Ayouli
F. Hinkelmann
felipesuri
Christophe Carvalho Vilas-Boas
Leoš Literák
Trizotti
Marcello Bachechi
Rodolphe
Thomas Underwood
Shek Evgeniy
Lukasz Formela
Hugo Torzuoli