带有预渲染SPA的Vue.js创建双脚本标签

时间:2018-07-01 03:44:19

标签: javascript vue.js vuejs2 single-page-application prerender

我正在使用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或插件有任何经验,有什么想法吗?

0 个答案:

没有答案