成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

這恐怕是"前后端混寫"的3p家族在"前后端分離"大流中的最后

GT / 2885人閱讀

摘要:前言前后端分離的風(fēng)從我第一天當(dāng)開發(fā)的時(shí)候就已經(jīng)在我耳邊吹得呼呼作響了聽著各種前后端分離的各種牛心里還是有點(diǎn)癢癢后來因?yàn)楦鞣N原因轉(zhuǎn)向前端慢慢地了解起來了前后端分離雖然說轉(zhuǎn)向了前端但是小公司人不多后端接口還是要我寫一點(diǎn)好了上面都是些廢話下面開始

前言

前后端分離的風(fēng)從我第一天當(dāng)開發(fā)的時(shí)候

就已經(jīng)在我耳邊吹得呼呼作響了

聽著各種前后端分離的各種牛X,心里還是有點(diǎn)癢癢

后來因?yàn)楦鞣N原因轉(zhuǎn)向前端,慢慢地了解起來了前后端分離

雖然說轉(zhuǎn)向了前端,但是小公司,人不多,后端接口還是要我寫一點(diǎn)

好了,上面都是些廢話,下面開始正題
正文

在幾個(gè)項(xiàng)目開發(fā)過程中,可能是我水平不夠吧
我就發(fā)現(xiàn)前后端分離有時(shí)候相較于前后端混寫"蠢"

各位先放下你們提起的40M大刀,且聽我慢慢道來.

不知道各位開發(fā)時(shí)發(fā)現(xiàn)沒,
有些請(qǐng)求是需要在頁面剛剛加載完時(shí)候,
就要用ajax之類的向服務(wù)器發(fā)起一或者多個(gè)請(qǐng)求.

比如,一些可自定義因素較多的項(xiàng)目,需要請(qǐng)求,

網(wǎng)站的LOGO

網(wǎng)站的主色調(diào)

網(wǎng)站的CopyRight信息

等等

再比如,微信公眾號(hào)網(wǎng)頁的開發(fā)
從后端請(qǐng)求回微信公眾號(hào)的一些東西

上述的那些一般做法就是剛剛加載完頁面的時(shí)候就得向后端發(fā)起請(qǐng)求
然后再賦值到頁面上或者執(zhí)行請(qǐng)求返回的信息之類的

覺不覺得這樣的方式有點(diǎn)"蠢"呢?

我明明向后端發(fā)起了一次請(qǐng)求,
為什么不把我要的東西給全?
反而要我多跑兩趟腿?

這下能把你的刀放回刀鞘了吧

所以,我就在想,應(yīng)該怎么解決這個(gè)問題?

后來用了幾次JSONP,恍然大悟

其實(shí)完全沒必要在頁面請(qǐng)求回來之后
多寫幾段ajax之類的來請(qǐng)求剛剛說的那些東西

下面開始正題中的正題

突然之間不知道怎么表述我想說的這是個(gè)什么東西了

舉幾個(gè)栗子來說明吧
(前端代碼都在vue-cli里的模板文件里寫)

(后端代碼都是php代碼,當(dāng)然你可以改成jsp,asp等等)

一、用戶自定義皮膚

HTML代碼



是的,你沒看錯(cuò),是請(qǐng)求一個(gè)php(jsp,asp...)文件

PHP代碼

// 假設(shè)已經(jīng)一頓操作,得到了一些用戶自定義的皮膚數(shù)據(jù)
$skin = array(
"background"=> "#F00",
"font"=> "#0F0",
// 等等配置
);

// 設(shè)置header頭,說明MIME類型和字符編碼
header("Content-Type: text/css;charset=utf-8");

// 生成css代碼(當(dāng)然,你可以選擇更好的字符串拼接方式)
echo "body{background-color: ". $skin["background"] .";color: ". $skin["font"] .";}";

然后,打開你的頁面,打開瀏覽器控制臺(tái)
就能在network選項(xiàng)卡的css請(qǐng)求里看到拼接好的css代碼

body{background-color: #F00;color: #0F0;}

當(dāng)然,頁面樣式也會(huì)像拼接好的css代碼描述那樣,背景呈現(xiàn)紅色,文字是綠色

二、微信公眾號(hào)網(wǎng)頁開發(fā)

主要是wx.config方面的簡化

HTML代碼



PHP代碼

// 假設(shè)已經(jīng)經(jīng)過一頓操作,得到了微信公眾號(hào)的一些簽名,標(biāo)識(shí)之類的東西
$data = array(
"appId"=> "0123456789",
"nonceStr"=> "qwertyuiop",
// 等等其他配置
);

// 設(shè)置header頭,說明MIME類型和字符編碼
header("Content-Type: text/javascript;charset=utf-8");

// 生成js代碼(當(dāng)然,你可以選擇更好的字符串拼接方式)
// 配置有點(diǎn)多,就不一一寫出來了
echo "wx.config({
debug: true,
appId: "". $data["appId"] ."",
nonceStr: "". $data["nonceStr"] ."",
jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"]
});";

然后,打開你的頁面,打開瀏覽器控制臺(tái)
就能在network選項(xiàng)卡的js請(qǐng)求里看到拼接好的js代碼

wx.config({
debug: true,
appId: "0123456789",
nonceStr: "qwertyuiop",
jsApiList:["onMenuShareAppMessage","onMenuShareTimeline"]
});

然后你就可以不用在ajax之類請(qǐng)求成功之后再執(zhí)行wx.config
直接wx.ready即可

小小的總結(jié)

舉了兩個(gè)例子,不知道大家有沒有明白我在說什么

就是想說,大部分那種剛剛請(qǐng)求到頁面就向后端發(fā)起的ajax請(qǐng)求
都可以不用費(fèi)太多js代碼去獲取
直接讓后端生成就好了

當(dāng)然用法很多,不拘泥于上面兩種用法

比如可以請(qǐng)求用戶信息之類的

目前發(fā)現(xiàn)的缺陷

比如請(qǐng)求自定義皮膚,請(qǐng)求回來的"css文件"不能被緩存,

下次刷新頁面又得重新請(qǐng)求,

所以不適合請(qǐng)求大量的非自定義的css代碼,

需要自己對(duì)css代碼量進(jìn)行控制,

但是我覺得這不算壞事,比如在請(qǐng)求wx.config的時(shí)候,

每次必定有信息是不相同的,

在這時(shí)候,還是不要緩存的好^_^

----------------------------------

還有個(gè)就是請(qǐng)求"js文件"的時(shí)候,

瀏覽器中,跨js文件進(jìn)行交互,

必須有個(gè)掛在window下的全局的中間變量

比如微信公眾號(hào)開發(fā)中的wx

個(gè)人認(rèn)為js中暴露在window下的全局變量越多,越不安全

所以,使用上述方法請(qǐng)求"js文件"的度還是需要把握下

就說到這里

大家有任何疑問/想法都可以在評(píng)論里交流
有對(duì)我上述內(nèi)容的指正更好
感謝各位花費(fèi)這么多時(shí)間看一個(gè)頁面仔的思考

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30805.html

相關(guān)文章

  • pyecharts結(jié)合flask架構(gòu)應(yīng)用

      此篇文章通常是詳細(xì)介紹了pyecharts結(jié)合flask架構(gòu),通常是詳細(xì)介紹怎樣在Flask架構(gòu)使得用pyecharts,文中根據(jù)實(shí)例編碼為大家介紹得非常詳盡,需用的小伙伴可以參考一下  詳細(xì)介紹  文中通常是詳細(xì)介紹怎樣在Flask架構(gòu)使得用pyecharts,有關(guān)Flask架構(gòu)應(yīng)用這兒不去做詳細(xì)詳細(xì)說明~  Flask模版3D渲染  首先要建立一個(gè)flask項(xiàng)目,flask項(xiàng)目對(duì)目錄結(jié)構(gòu)要...

    89542767 評(píng)論0 收藏0
  • 服務(wù)器渲染什么?

    摘要:服務(wù)器端渲染用通俗的話來講就是是由服務(wù)端寫出,可以動(dòng)態(tài)改變頁面內(nèi)容,也可以叫做所謂的動(dòng)態(tài)頁面??偟膩碚f,服務(wù)器端渲染就是說由服務(wù)側(cè)完成頁面的結(jié)構(gòu)拼接的頁面處理技術(shù),發(fā)送到瀏覽器,然后為其綁定狀態(tài)與事件,成為完全可交互頁面的過程。服務(wù)器端渲染(Server-Side Rendering)用通俗的話來講就是html是由服務(wù)端寫出,可以動(dòng)態(tài)改變頁面內(nèi)容,也可以叫做所謂的動(dòng)態(tài)頁面。像早期的php、...

    3119555200 評(píng)論0 收藏0
  • python前后文管理工具合同完成

      本文關(guān)鍵闡述了python前后文管理工具合同的完成,在python中所有完成了前后文管理工具協(xié)議書目標(biāo)都能用應(yīng)用with實(shí)際操作,with開啟了目標(biāo)前后文管理工具  序言  在前后文管理工具協(xié)議書的過程當(dāng)中,牽涉到2個(gè)魔術(shù)師方式__enter__方法與__exit__方式  在python中所有完成了前后文管理工具協(xié)議書目標(biāo)都能用應(yīng)用with實(shí)際操作  with開啟了目標(biāo)前后文管理工具  前后...

    89542767 評(píng)論0 收藏0
  • python上下面管理工具適用場(chǎng)景及錯(cuò)誤處理

      本文主要是給大家介紹了python上下面管理工具適用場(chǎng)景及錯(cuò)誤處理實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考去了解一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪  前言  應(yīng)用前后文管理工具,能讓編碼更為雅致簡約。自然,前后文的管理工具的功效不僅于此,它內(nèi)部進(jìn)行體制,能夠很好地解決編碼出現(xiàn)異常,提高編碼的復(fù)用性  1、先看一下最典型的例子,with句子  #創(chuàng)建一個(gè)文件載入字符串?dāng)?shù)組Pyt...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<