ModuleContainer Class

2020-02-13 17:51 更新

ModuleContainer Class

所有模塊都將在ModuleContainer實例的context調(diào)用。

Tapable plugins

我們可以在某些生命周期事件中注冊hooks。

nuxt.moduleContainer.plugin('ready', async (moduleContainer) => {
  // Do this after all modules where ready
})

在 modules 的context中我們可以使用它:

this.plugin('ready', async (moduleContainer) => {
  // Do this after all modules where ready
})
插件參數(shù)說明
readymoduleContainernuxt.config.js中的所有模塊都已初始化

方法

添加Vendor(vendor)

vendor已經(jīng)廢棄不再使用

添加到options.build.vendor并應(yīng)用唯一插件過濾器。

添加到模板中 (template)

  • template: String or ObjectsrcoptionsfileName

在構(gòu)建到項目buildDir (.nuxt)期間使用lodash 模板渲染指定模板。

如果未提供fileName或template為string,則目標文件名默認為[dirName].[fileName].[pathHash].[ext]。

這個方法將返回 { dist, src, options } 對象.

添加插件 (template)

使用addTemplate注冊插件并將其添加到 plugins[]選項。

您可以使用template.ssr: false來禁用包含在SSR中的插件。

添加服務(wù)器端渲染中間件 (middleware)

將中間件插入 options.serverMiddleware.

extendBuild (fn)

Allows easily extending webpack build config by chaining options.build.extend function.

extendRoutes (fn)

允許通過鏈接options.build.extendRoutes函數(shù)輕松擴展webpack構(gòu)建配置。

添加模塊 (moduleOpts, requireOnce)

注冊模塊。moduleOpts可以是string或[src, options]。如果requireOnce為true且已解析的模塊導(dǎo)出meta阻止兩次注冊相同的模塊。

requireModule (moduleOpts)

addModule(moduleOpts, true)

Hooks

我們可以在某些生命周期事件中注冊鉤子。

HookArgumentsWhen
modules:before(moduleContainer, options)在創(chuàng)建ModuleContainer類之前調(diào)用??,對重載方法和選項很有用。
modules:done(moduleContainer)加載所有模塊時調(diào)用。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號