去除 nuxt.js 框架下的 window.__NUXT__


問題描述:
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, 禁止在頁面初始化時添加window.__NUXT__代碼
APP += `<script>${serializedSession}</script>`;  

// 注釋代碼2   禁止在頁面路由改變時更新window.__NUXT__代碼
hash.update(serializedSession);
cspScriptSrcHashes.push(`'${csp.hashAlgorithm}-${hash.digest('base64')}'`);

備注:
不知道這樣做有沒有其他的副作用,暫時我還沒發現,等發現了后續再更新

更新:2019/09/05
1、副作用一
     今天查看Nuxt.js 官方文檔,發現一個新的問題,如果在服務器端使用beforeNuxtRender 和 nuxtState這個方法,應該是會出現問題:


2、副作用二:
     在服務器端,存儲在store中的數據會出現取值問題
     我的項目中,在nuxtServerInit 函數中存儲在store中的數據,在客戶端會出現獲取不到值的問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM