国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

Gulp實現靜態網頁模塊化的方法詳解

2024-05-06 16:41:52
字體:
來源:轉載
供稿:網友

前言

在做純靜態頁面開發的過程中,難免會遇到一些的尷尬問題。比如:整套代碼有50個頁面,其中有40個頁面頂部和底部模塊相同。那么同樣的兩段代碼我們復制了40遍(最難受的方法)。然后,這個問題就這樣解決了。再然后,產品經理看了幾遍后突然說頂部的某塊需要改改設計。。。突然感覺好尷尬~~(心里是萬馬奔騰~),然后呢?然后就期待下一次的萬馬奔騰!!!

雖然類似問題的解決方案很多,但是純前端,不用各種框架的情況下,一種比iframe更靠譜的解決方案莫過于用像gulp這樣的構建工具來完成。雖然在體驗上也許會有一點小小的瑕疵(每次改完文件要預覽,都需要先gulp一下),但是也并非是不能忍受。畢竟我們想要的僅僅是改一改某公共模塊就能達到解決40個頁面的目的。

gulp簡介

gulp是一個自動化構建工具。在開發過工程中,能夠使用gulp對項目進行自動構建,大大提高工作效率。

安裝gulp

在安裝gulp之前先要確認已經正確安裝了node.js,然后在項目根目錄下安裝gulp:

$ npm install gulp

舉例的開發環境配置:

  Windows:在iis里搭建項目,方便在瀏覽器中預覽;使用webstorm編輯器(習慣了,感覺比記事本還是要好用很多,還可以忽略某些文件夾)。

  MacOs:   在apache里搭建項目,方便在瀏覽器中預覽;使用webstorm編輯器(習慣了,感覺比sublime用得更liu一點,還可以忽略某些文件夾)。

必備插件:

  gulp-file-include

技能描述:

  將需要模塊化的html代碼放到一個獨立的html文件中。如:head.html

  然后在需要使用的地方使用:@@include('./head.html')

  文件路徑自定義~~

  最后配置好gulp并執行

使用Demo:

html:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"> <title></title> <link rel="stylesheet" href="css/comm.css?v=1.13" rel="external nofollow" > <link rel="stylesheet" href="css/template.css" rel="external nofollow" > <link rel="stylesheet" href="css/news.css" rel="external nofollow" ></head><body>@@include('../Layout/head.html')<div class="news"> </div>@@include('../Layout/foot.html')</body>

gulp:

var gulp = require('gulp'), fileinclude = require('gulp-file-include');gulp.task('prew', function () { gulp.src(['*.html','pages/*.html', '!node_modules/**/*.html'])  .pipe(fileinclude({   prefix: '@@',   basepath: '@file'  }))  .pipe(gulp.dest('prew')); gulp.src(['**/**.js', '!node_modules/**/*']).pipe(gulp.dest('prew/')); gulp.src(['**/**.css', '!node_modules/**/*']).pipe(gulp.dest('prew/')); gulp.src(['**/*.jpg',  '**/*.jpge',  '**/*.png',  '**/*.gif',  '**/*.bmp', '!prew/**/*', '!node_modules/**/*']).pipe(gulp.dest('prew/'));});gulp.task('watch',function () { gulp.watch(['pages/*.html','css/*.css','img/**/*','!prew/**/*.html','!prew/**/*.css','!prew/img/**/*'], ['prew']);})

技能介紹:

執行 gulp prew 會將文件復制到prew目錄下,并生成對應的完整html文件。(注:此處將pages文件夾下的文件直接放到了prew根目錄下,并非prew/pages。根據需要自改配置)

執行 gulp watch后gulp會建立一個監聽進程,在開發的時候每次修改文件后,gulp會自動執行prew,這樣就不用每次都手動執行gulp prew然后再去刷瀏覽器。(這是一招實用技能)

最后:

這套技能的要點不在于如何使用gulp,而是怎么去劃分模塊。每個模塊除了有html代碼以外,其實還可以有js、css代碼或者引入js、css文件的代碼,這樣才能更模塊一點。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄢陵县| 平罗县| 株洲市| 阿克陶县| 长海县| 浮梁县| 尤溪县| 昭平县| 石嘴山市| 丰都县| 大邑县| 娄烦县| 贺州市| 禄劝| 海林市| 南和县| 巨野县| 剑阁县| 中西区| 伊春市| 盐山县| 客服| 苏尼特右旗| 通河县| 葫芦岛市| 姚安县| 扶沟县| 宁河县| 贵阳市| 邵东县| 鄂伦春自治旗| 灌阳县| 迭部县| 德清县| 遂溪县| 贺兰县| 永泰县| 子洲县| 桃江县| 榕江县| 双鸭山市|