Я создаю дружественный к SEO сайт, используя Vue.js, поэтому я использую Плагин предварительного рендеринга SPA .
Когда я npm run build
и Vue.js, и плагин Pre-render SPA оба монтируют версию тегов сценария в <head>
каждой страницы, и поэтому они дублируются.
Я попробовал следующее в vue.config.js
:
new preRender({
staticDir: path.join(__dirname, 'dist'),
routes: ['/', '/page-1', '/page-2'],
postProcess(renderedRoute) {
renderedRoute.html = renderedRoute.html.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/ig,'');
return renderedRoute;
}
})
Но это полностью удаляет все теги скриптов. Так что не идеально. Я пробовал авторов плагинов, но они говорят, что это именно то, как плагин должен работать, и опять же он не идеален, так как вызывает конфликты с такими сервисами, как Google Analytics, Hotjar, Sentry и т. Д.
Если у кого-нибудь есть опыт работы с Vue или плагином, есть идеи?