当前位置:   article > 正文

去除 nuxt.js 框架下的 window.__NUXT___window.nuxt=(function(a,b,c,d,e,f,g,h,i,j,k

window.nuxt=(function(a,b,c,d,e,f,g,h,i,j,k
问题描述:

nuxt.js 框架建设网站,在网站页面点击查看 查看网页源代码,就会发现源代码里面有一串这样的代码window.__NUXT__=(function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa, ..... 后续代码太多,此处省略1万字,里面存储的信息是Vuex 中的数据


我想要的结果:

不想让 window.__NUXT__=.... 出现在我的网页源代码中,不美观,累赘,多余,可能会影响SEO


问题解决:

修改渲染页面的源代码

nuxt版本:2.7.1
修改文件路径: \node_modules\nuxt\node_modules@nuxt\core\node_modules@nuxt\vue-renderer\dist\vue-renderer.js

修改代码如下:

// 注释代码1, 禁止在页面初始化时添加window.__NUXT__代码
APP += `<script>${serializedSession}</script>`;  

// 注释代码2   禁止在页面路由改变时更新window.__NUXT__代码
hash.update(serializedSession);
cspScriptSrcHashes.push(`'${csp.hashAlgorithm}-${hash.digest('base64')}'`);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6



源代码对比:

有window.__NUXT__的源代码
没有window.__NUXT__的源代码



备注:

不知道这样做有没有其他的副作用,暂时我还没发现,等发现了后续再更新



更新:2019/09/05

1、副作用一
     今天查看Nuxt.js 官方文档,发现一个新的问题,如果在服务器端使用beforeNuxtRendernuxtState这个方法,应该是会出现问题:

在这里插入图片描述
2、副作用二:
     在服务器端,存储在store中的数据会出现取值问题
     我的项目中,在nuxtServerInit 函数中存储在store中的数据,在客户端会出现获取不到值的问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/971289
推荐阅读
相关标签
  

闽ICP备14008679号