假設(shè)有一個 h5 app 項目,前后端完全分離,前后端通過 json 進(jìn)行數(shù)據(jù)交流,前端使用 vue 進(jìn)行數(shù)據(jù)渲染開發(fā)。
目前 ui 已經(jīng)把整個項目的界面都制作完畢,有 30+ 張頁面。前端開發(fā)中每個 html 頁面不可避免的存在公共部分,一般會是如下公共部分:
<!DOCTYPE html>
<html>
<head>
<meta name='viewport' content='....'>
<!-- 這個地方根據(jù)不同的頁面也許會有新增的 meta文件?。?-->
<!-- ...meta... ---->
<link rel='stylesheet' href='public/css/base.css' />
<link rel='stylesheet' href='public/css/module.css' />
<!-- 這個地方根據(jù)不同的頁面也許會有新增的 css 文件??! -->
<!-- ...link... ---->
<script src='plugins/Loading/loading.js'></script>
<script src='public/lib/jquery.js'></script>
<!-- 這個地方根據(jù)不同的頁面也許會有新增的 js文件??! -->
<!-- ...script... ---->
<!-- 這個地方根據(jù)不同的要買呢標(biāo)題內(nèi)容不一致! --->
<title>標(biāo)題</title>
</head>
<body>
<!-- 用戶自定義內(nèi)容 -->
<!-- 請任意添加... -->
<script src='public/js/public.js'></script>
<!-- 這個地方根據(jù)不同的頁面也許會有新增的 js文件??! -->
<!-- ...script... ---->
</body>
</html>
怎么把如上公共部分:<head>....</head> 等這些每個頁面都會加載的公共部分通過 vue 的方式獨立出來,然后在每個頁面加載這些公共部分??這解決的問題是避免碰到如果需要向所有頁面公共部分增加一些代碼時蛋疼的逐個頁面進(jìn)行改動 ......
以上我可能沒有很好的表述清楚我的需求,類比一些 PHP Laravel 框架的 blade 模板:
定義一個頂級頁面(top.blade.php),定義一個應(yīng)用級通用頁面(public.blade.php),在根據(jù)每個控制器/方法定義一個具體頁面(index.blade.php)。
繼承:index.blade.php 繼承 public.blade.php,public.blade.php 繼承 top.blade.php。
通過這種方式,如果公共部分新增文件,那么僅需要在 public.blade.php or top.blade.php 中新增內(nèi)容就輕松實現(xiàn)了所有頁面增加公共部分的需求!!
實際我就是打算在純前端的情況下實現(xiàn)類似后端模板引擎的功能??!請問該如何實現(xiàn)??
我不知道我是否理解錯誤了。
1) 如果是單頁應(yīng)用的話,頭尾這樣的部分只需要在入口HTML中寫一次就好了
2) 如果是多個頁面并且每個頁面的主體內(nèi)容是通過vue去渲染,html中只是框架結(jié)構(gòu)的話。那么我個人覺得你可以使
用 pug, pug 支持模板繼承,自定義標(biāo)簽。這樣30+的頁面頭部,頁腳和相同的部分都使用一套模板,修改起來也快
速。
看情況你是vue做的多頁面應(yīng)用對吧?也沒用到前端路由,如果不使用后端模板引擎或者構(gòu)建工具的話,估計只能使用純前端模板了,試試這個art-template
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。