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) | すべてのモジュールがロードされたときに呼ばれます。 |
Leoš Literák
Trizotti
Clément Ollivier
Sébastien Chopin
Marcello Bachechi
Rodolphe
Thomas Underwood
Shek Evgeniy
felipesuri
Lukasz Formela
Hugo Torzuoli
Sylvain Marroufin
Kareem Dabbeet
tramplay
Daniel Roe
verebelyicsaba
Adam
Nate Butler
Sandra Rodgers
Arpit Patidar
Matthew Kuehn
Steven DUBOIS
Travis Lindsey
syagawa
Maxime
かる
Al Power
Florent Delerue
quanghm
José Manuel Casani Guerra
Unai Mengual
kazuya kawaguchi
Michael Lynch
Tomachi
pooya parsa
Meir Roth
Brett
Adam Miedema
Thomas Bnt
Kazuki Furukawa
Anthony Ruelle
Christophe Carvalho Vilas-Boas
Roman Harmyder