目錄
前言
gulp-file-include
前端模版
首頁 web前端 html教學 HTML程式碼重複使用實務的詳細介紹

HTML程式碼重複使用實務的詳細介紹

May 27, 2017 pm 02:30 PM

前言

通常我們所做的一些頁面,我們可以從設計圖裡面看出有些地方是相同的。例如:頭部,底部,側邊欄等等。如果是製作靜態頁面的同學,對於這些重複的部分只能夠透過複製貼上到新的頁面來,如果頁面的數量上去了而中途公共的部分出現要修的地方。不過有上10個頁面都用到了這個公共的html程式碼。那修改起來不是很麻煩嗎?

對於後端的同學而言,他們可以透過模版來進行拆分。這樣做可以提高html程式碼的複用性和可維護性。但對於只是對設計圖而製作成靜態頁面的同學而言他們,html沒有提供像模版的include這種方法。但又不想使用到後端的模版,那麼接下來的我介紹的幾個工具或許可以幫助你。

gulp-file-include

第一個我要介紹的是一個gulp的插件,他提供了一個include的方法讓我們可以想後端模版一樣把公共的部分分開。而且提供的include方法有許多配置項,詳細可以去看看 gulp-file-include。

下面我們寫一個小demo來快速的了解一下,我們需要先安裝gulp以及gulp-file-include

npm install -g gulp
mkdir gulp-file-include && cd gulp-file-include
npm install  gulp --save-dev
npm install gulp-file-include
登入後複製

安裝好之後,來簡單的組織一下檔案的目錄:

|-node_modules|-src // 生产环境的 html 存放文件夹    |-include // 公共部分的 html 存放文件夹    |-*.html 
|-dist // 编辑后的 html 文件
gulpfile.js
登入後複製

在新建的gulpfile.js,設定好gulp-file-include

var gulp = require('gulp');var fileinclude  = require('gulp-file-include');

gulp.task('fileinclude', function() {
    gulp.src('src/**.html')
        .pipe(fileinclude({          prefix: '@@',          basepath: '@file'
        }))
    .pipe(gulp.dest('dist'));
});
登入後複製

接著新建兩個html文件,分別是頭部和底部:

header.html

<h1>这是 header 的内容</h1>
登入後複製

footer.html

<h1>这是 footer 的内容</h1>
登入後複製

最後在新建一個html,把要用到的headerfooterinclude進來。

layout.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body>
    @@include(&#39;include/header.html&#39;)    <p> 这是 layout 的内容 </p>

    @@include(&#39;include/footer.html&#39;)</body></html>
登入後複製

最後回到命令列工具裡,執行gulp fileinclude

看到編譯完成之後,到dist目錄一下有一個layout.html的文件,這就是最後編譯出來的。

好了,上面的一個小實例也明白之後。也許能夠在以後的工作中大大提供生產力,使得自己寫的html程式碼更具維護性和可重複用性。

前端模版

上面說gulp-file-include#簡單而且易上手,對於不想使用模版的同學是一個很好的小工具。但熟悉前端模版的同學來說,我們一樣可以使用模版來做到html程式碼的維護性和可重複使用性。那我就用一個我自己比較常用的ejs這個模版來說說一下如何分離那些公共部分的html檔。

把上一個例子的整個資料夾複製到一個新的地方,然後把名字修改為ejs。接著把node_modules資料夾給刪除,dist資料夾下的html檔案都刪除。

用到ejs模版的話,需要把src裡面的html檔案的字尾名稱都修改成.ejs。把ejs檔案編譯成html的工具依舊是使用gulp。只需要安裝gulp-ejs就可以了。

npm install gulp --save-dev
npm install gulp-ejs --save-dev
登入後複製

接著就是修改gulpflie.js檔案了:

var gulp = require(&#39;gulp&#39;);var ejs  = require(&#39;gulp-ejs&#39;);

gulp.task(&#39;ejs&#39;, function() {
    gulp.src(&#39;src/**.ejs&#39;)
        .pipe(ejs())
    .pipe(gulp.dest(&#39;dist&#39;));
});
登入後複製

然後修改layout.ejs檔:

<!DOCTYPE html><html lang="en">
<head>    
<meta charset="UTF-8">    
<title>Document</title></head><body>    
<%-include include/header  %>    
<p> 这是 layout 的内容 </p>    
<%-include include/footer  %>
</body>
</html>
登入後複製

最後就是在命令列工具裡面運行gulp ejs,在到dist目錄下看到編譯好的layout.html檔。就大功告成了。

其實模版有許多強大的方法,而上面的例子主要還是示範include這個方法,可能會覺得有點大才小用。有興趣的同學可以再去了解模版的一些方法。

以上是HTML程式碼重複使用實務的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles