好了,上面都是些廢話,下面開始正題
在幾個項目開發過程當中,多是我水平不夠吧
我就發現先後端分離有時候相較於先後端混寫挺"蠢"的javascript
各位先放下大家提起的40M大刀,且聽我慢慢道來.
不知道各位開發時發現沒,
有些請求是須要在頁面剛剛加載完時候,
就要用ajax之類的向服務器發起一或者多個請求.php
好比,一些可自定義因素較多的項目,須要請求,css
再好比,微信公衆號網頁的開發
從後端請求回微信公衆號的一些東西html
上述的那些通常作法就是剛剛加載完頁面的時候就得向後端發起請求
而後再賦值到頁面上或者執行請求返回的信息之類的前端
覺不以爲這樣的方式有點"蠢"呢?
我明明向後端發起了一次請求,
爲何不把我要的東西給全?
反而要我多跑兩趟腿?vue
這下能把你的刀放回刀鞘了吧
因此,我就在想,應該怎麼解決這個問題?java
後來用了幾回JSONP,恍然大悟ajax
其實徹底不必在頁面請求回來以後
多寫幾段ajax之類的來請求剛剛說的那些東西vue-cli
忽然之間不知道怎麼表述我想說的這是個什麼東西了後端
(前端代碼都在vue-cli裏的模板文件裏寫)(後端代碼都是php代碼,固然你能夠改爲jsp,asp等等)
HTML代碼
<!--href能夠指向任何你可自定義代碼文件連接--> <!--且能在服務器端跑起來的php,jsp,asp文件--> <link rel="stylesheet" type="text/css" href="./skin.php" />
是的,你沒看錯,是請求一個php(jsp,asp...)文件
PHP代碼
// 假設已經一頓操做,獲得了一些用戶自定義的皮膚數據 $skin = array( 'background'=> '#F00', 'font'=> '#0F0', // 等等配置 ); // 設置header頭,說明MIME類型和字符編碼 header("Content-Type: text/css;charset=utf-8"); // 生成css代碼(固然,你能夠選擇更好的字符串拼接方式) echo 'body{background-color: '. $skin['background'] .';color: '. $skin['font'] .';}';
而後,打開你的頁面,打開瀏覽器控制檯
就能在network選項卡的css請求裏看到拼接好的css代碼
body{background-color: #F00;color: #0F0;}
固然,頁面樣式也會像拼接好的css代碼描述那樣,背景呈現紅色,文字是綠色
主要是wx.config方面的簡化
HTML代碼
<!--一樣的src能夠指向任何你可自定義代碼文件連接--> <!--且能在服務器端跑起來的php,jsp,asp文件--> <script type="text/javascript" src="./wx.config.php"></script>
PHP代碼
// 假設已經通過一頓操做,獲得了微信公衆號的一些簽名,標識之類的東西 $data = array( 'appId'=> '0123456789', 'nonceStr'=> 'qwertyuiop', // 等等其餘配置 ); // 設置header頭,說明MIME類型和字符編碼 header("Content-Type: text/javascript;charset=utf-8"); // 生成js代碼(固然,你能夠選擇更好的字符串拼接方式) // 配置有點多,就不一一寫出來了 echo 'wx.config({ debug: true, appId: "'. $data['appId'] .'", nonceStr: "'. $data['nonceStr'] .'", jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"] });';
而後,打開你的頁面,打開瀏覽器控制檯
就能在network選項卡的js請求裏看到拼接好的js代碼
wx.config({ debug: true, appId: "0123456789", nonceStr: "qwertyuiop", jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"] });
而後你就能夠不用在ajax之類請求成功以後再執行wx.config
直接wx.ready便可
舉了兩個例子,不知道你們有沒有明白我在說什麼
就是想說,大部分那種剛剛請求到頁面就向後端發起的ajax請求
均可以不用費太多js代碼去獲取
直接讓後端生成就行了
固然用法不少,不拘泥於上面兩種用法好比能夠請求用戶信息之類的
你們有任何疑問/想法均可以在評論裏交流
有對我上述內容的指正更好感謝各位花費這麼多時間看一個頁面仔的思考