Javascript Vue 3:为MPA(多页应用程序)配置中的所有页面配置globale模板

Javascript Vue 3:为MPA(多页应用程序)配置中的所有页面配置globale模板,javascript,templates,vuejs3,Javascript,Templates,Vuejs3,我是Vue的新手。我正在使用带有MPA配置的Vue。我想有一个模板的所有文件。这是我在vue.config.js中的配置: pages: { 'index': { entry: vueWorkDirPath + '/page/public/home/home.js' }, 'test': { entry: vueWorkDirPath + '/page/public/test/test.js' } } chainWebpack:

我是Vue的新手。我正在使用带有MPA配置的Vue。我想有一个模板的所有文件。这是我在vue.config.js中的配置:

pages: {
    'index': {
        entry: vueWorkDirPath + '/page/public/home/home.js'
    },
    'test': {
        entry: vueWorkDirPath + '/page/public/test/test.js'
    }
}
chainWebpack: config => {
     config
        .plugin('html')
        .tap(args => {
            args[0].template = vueWorkDirPath + '/template/default.html'
            return args
        })
}
然后,我将其添加到vue.config.js中的chainWebpack配置中:

pages: {
    'index': {
        entry: vueWorkDirPath + '/page/public/home/home.js'
    },
    'test': {
        entry: vueWorkDirPath + '/page/public/test/test.js'
    }
}
chainWebpack: config => {
     config
        .plugin('html')
        .tap(args => {
            args[0].template = vueWorkDirPath + '/template/default.html'
            return args
        })
}
但是我得到了这个错误:

无法对尚未定义的插件调用.tap()。调用插件('html')。首先使用()

因此,当我删除“html”插件配置,并像这样调整我的页面配置时,它可以完美地工作:

pages: {
    'index': {
        entry: vueWorkDirPath + '/page/public/home/home.js',
        template: vueWorkDirPath + '/template/default.html'
    },
    'test': {
        entry: vueWorkDirPath + '/page/public/test/test.js',
        template: vueWorkDirPath + '/template/default.html'
    }
}
像这样,它为每个文件加载相同的模板。但这对我来说似乎有点麻烦,所以我建议只为所有文件加载一个模板。因此,我找到了“html”插件的配置。例如,当将此插件用于只有一个index.html文件的SPA时,它就可以工作了。根据该网站,Vue似乎为MPA使用了不同的插件:


因此,我的问题是:在MPA中只有一个全局模板条目的最佳方式是什么?我想我可以通过添加上面链接中描述的MPA的“html”插件来解决这个问题,但是我太新了,不知道怎么做。非常感谢您的帮助

事实上,答案就在同一页上,具体地说:——)。@YomS。它没有解释如何为所有页面配置全局模板。我尝试使用插件可能是错误的。。。它只解释了抛出错误的原因。它没有说明如何修复错误。例如,如果可以在每页安装html插件。。。但是,如果尝试错误,如何配置全局页面模板?;-)我认为它确实在某种程度上解释了如何修正错误。您是否运行了
vue-inspect--plugins
并查看了输出?关键的焦点是以
html-
为前缀的插件ID。如果您对使用glob模式作为入口点没问题,那么有一个beta版可能会有所帮助,因为它允许您为页面指定“通用”布局/模板。