解决vue ssr css内联样式和link标签重复问题

html-css011

解决vue ssr css内联样式和link标签重复问题,第1张

基于vue-cli3的项目,改造成SSR。

服务端渲染会提取组件的样式内联到html中,与link标签中的重复,使得页面体积变大,导致响应时间很慢。

原因是ssr会自动进行资源注入 Manual Asset Injection ,包含css、js等。

我们需要的是没有<style>标签的页面

所以通过配置参数,关闭资源注入。

接下来需要把css、js等文件再关联到输出的html中

当创建bundlerender的时候,我们可以使用一个模板,在这个模板里面预置页面所需要的各种资源。

思来想去,csr(客户端渲染)模式下生成的index.html再合适不过了。

而且,当build csr时,我们也可以预置一个模板,在这里添加上第三方的资源

最后是在模板中添加锚点

到这里基本大功告成

贴一下vue.config.js和build script(windows 平台)

没有区别,只是写法不一样,在原生的写法上会导致出现的问题就是:样式如果比较多,代码看起来混乱。

在vue中,把style放在date里面来传递这样代码看起来整结,方便阅读。

但是他们最终的效果都是一样的