mirror of
https://github.com/wahyd4/vuepress.git
synced 2026-08-11 22:36:59 +10:00
23 lines
750 B
JavaScript
23 lines
750 B
JavaScript
module.exports = (options, ctx) => {
|
|
const { layoutComponentMap } = ctx
|
|
const componentNames = Object.keys(layoutComponentMap)
|
|
|
|
return {
|
|
name: '@vuepress/internal-layout-components',
|
|
|
|
async clientDynamicModules () {
|
|
const code = `export default {\n${componentNames
|
|
.map(name => ` ${JSON.stringify(name)}: () => import(${JSON.stringify(layoutComponentMap[name].path)})`)
|
|
.join(',\n')} \n}`
|
|
return { name: 'layout-components.js', content: code, dirname: 'internal' }
|
|
},
|
|
|
|
chainWebpack (config, isServer) {
|
|
const setAlias = (alias, raw) => config.resolve.alias.set(alias, raw)
|
|
componentNames.forEach(name => {
|
|
setAlias(`@${name}`, layoutComponentMap[name].path)
|
|
})
|
|
}
|
|
}
|
|
}
|