我正在使用Vue.js构建一个SEO友好的网站,所以我正在使用SPA Pre-render plugin。
当我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或插件有任何经验,有什么想法吗?