2 个回答

我已经找到一个相对完美的解决方法,在这里与大家分享下,也可以先看下我使用NUXT开发的网站示例网站`

其实要解决这个问题也不复杂查一下文档就能发现一个名字叫vue-renderer:ssr:context的hook方法,这个方法是在服务器端渲染之前调用,他会回调一个context参数,里面有一个对象nuxt,没错,就是这个对象保存了window._NUXT_,所以只要直接把这个对象呢设置为空那么就什么都不会输出啦!字面上的什么都不会输出,连页面都不会输出了哦!

再来仔细看看这个hook,既然是服务器端渲染之前调用,那么怎么告诉框架要在服务器端渲染呢?没错context.nuxt.serverRenderer这里设置了是否是服务器端渲染,假如这个值没有或者设置为了false那么就不会服务器端渲染了,所以这个属性我们要保留。

之后还有一个必要的属性那就是context.nuxt.routePath,这个属性是服务器端与浏览器端做DOM比较的必要属性,如果没有这个属性那么浏览器端的一些脚本就会无法正常运行了

好了最后总结下需要修改的结果把。
image

然后去我制作的好的网站看一下最后输出的结果
image

虽然还是保留了window._NUXT_,但是输出的属性已经是最少了,基本上不会影响到网站了

为什么要去掉,这是 nuxt 命名空间下的方法,去掉肯定就不工作了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题