亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Gulp實(shí)現(xiàn)靜態(tài)網(wǎng)頁(yè)模塊化的方法詳解

 更新時(shí)間:2018年01月09日 09:48:32   作者:ASER_1989  
眾所周知Gulp.js 是一個(gè)自動(dòng)化構(gòu)建工具,開(kāi)發(fā)者可以使用它在項(xiàng)目開(kāi)發(fā)過(guò)程中自動(dòng)執(zhí)行常見(jiàn)任務(wù)。下面這篇文章主要給大家介紹了關(guān)于Gulp實(shí)現(xiàn)靜態(tài)網(wǎng)頁(yè)模塊化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。

前言

在做純靜態(tài)頁(yè)面開(kāi)發(fā)的過(guò)程中,難免會(huì)遇到一些的尷尬問(wèn)題。比如:整套代碼有50個(gè)頁(yè)面,其中有40個(gè)頁(yè)面頂部和底部模塊相同。那么同樣的兩段代碼我們復(fù)制了40遍(最難受的方法)。然后,這個(gè)問(wèn)題就這樣解決了。再然后,產(chǎn)品經(jīng)理看了幾遍后突然說(shuō)頂部的某塊需要改改設(shè)計(jì)。。。突然感覺(jué)好尷尬~~(心里是萬(wàn)馬奔騰~),然后呢?然后就期待下一次的萬(wàn)馬奔騰?。?!

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

gulp簡(jiǎn)介

gulp是一個(gè)自動(dòng)化構(gòu)建工具。在開(kāi)發(fā)過(guò)工程中,能夠使用gulp對(duì)項(xiàng)目進(jìn)行自動(dòng)構(gòu)建,大大提高工作效率。

安裝gulp

在安裝gulp之前先要確認(rèn)已經(jīng)正確安裝了node.js,然后在項(xiàng)目根目錄下安裝gulp:

$ npm install gulp

舉例的開(kāi)發(fā)環(huán)境配置:

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

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

必備插件:

  gulp-file-include

技能描述:

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

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

  文件路徑自定義~~

  最后配置好gulp并執(zhí)行

使用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']);
})

技能介紹:

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

執(zhí)行 gulp watch后gulp會(huì)建立一個(gè)監(jiān)聽(tīng)進(jìn)程,在開(kāi)發(fā)的時(shí)候每次修改文件后,gulp會(huì)自動(dòng)執(zhí)行prew,這樣就不用每次都手動(dòng)執(zhí)行gulp prew然后再去刷瀏覽器。(這是一招實(shí)用技能)

最后:

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

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • JavaScript 文件加載與阻塞問(wèn)題之性能優(yōu)化案例詳解

    JavaScript 文件加載與阻塞問(wèn)題之性能優(yōu)化案例詳解

    這篇文章主要介紹了JavaScript 文件加載與阻塞問(wèn)題之性能優(yōu)化案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 解決layui數(shù)據(jù)表格table的橫向滾動(dòng)條顯示問(wèn)題

    解決layui數(shù)據(jù)表格table的橫向滾動(dòng)條顯示問(wèn)題

    今天小編就為大家分享一篇解決layui數(shù)據(jù)表格table的橫向滾動(dòng)條顯示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 微信小程序onLaunch異步,首頁(yè)onLoad先執(zhí)行?

    微信小程序onLaunch異步,首頁(yè)onLoad先執(zhí)行?

    這篇文章主要介紹了微信小程序onLaunch異步,首頁(yè)onLoad先執(zhí)行? 文章底部給大家介紹了小程序_onLaunch異步回調(diào)數(shù)據(jù)加載問(wèn)題的兩種解決方案,需要的朋友可以參考下
    2018-09-09
  • JS html事件冒泡和事件捕獲操作示例

    JS html事件冒泡和事件捕獲操作示例

    這篇文章主要介紹了JS html事件冒泡和事件捕獲操作,結(jié)合完整實(shí)例形式分析了javascript事件冒泡及事件捕獲相關(guān)原理與實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-05-05
  • 關(guān)于圖片的預(yù)加載過(guò)程中隱藏未知的

    關(guān)于圖片的預(yù)加載過(guò)程中隱藏未知的

    相信大家都看到過(guò)ie下的內(nèi)存泄漏模式的文章,其中有一個(gè)模式就是循環(huán)引用,而閉包就有保存外部運(yùn)行環(huán)境的能力(依賴于作用域鏈的實(shí)現(xiàn)),所以img.onload這個(gè)函數(shù)內(nèi)部又保存了對(duì)img的引用,這樣就形成了循環(huán)引用,導(dǎo)致內(nèi)存泄漏
    2012-12-12
  • 通過(guò)隱藏iframe實(shí)現(xiàn)文件下載的js方法介紹

    通過(guò)隱藏iframe實(shí)現(xiàn)文件下載的js方法介紹

    本篇文章主要是對(duì)通過(guò)隱藏iframe實(shí)現(xiàn)文件下載的js方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • js 數(shù)據(jù)存儲(chǔ)和DOM編程

    js 數(shù)據(jù)存儲(chǔ)和DOM編程

    本文主要介紹了js數(shù)據(jù)存儲(chǔ)和DOM編程的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • javascript中json基礎(chǔ)知識(shí)詳解

    javascript中json基礎(chǔ)知識(shí)詳解

    本文主要介紹了json的基礎(chǔ)知識(shí)。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • canvas實(shí)現(xiàn)鐘表效果

    canvas實(shí)現(xiàn)鐘表效果

    本文主要分享了canvas實(shí)現(xiàn)鐘表效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • JavaScript登錄記住密碼操作(超簡(jiǎn)單代碼)

    JavaScript登錄記住密碼操作(超簡(jiǎn)單代碼)

    本文給大家分享一段簡(jiǎn)單的js代碼實(shí)現(xiàn)用戶登錄記住密碼操作,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-03-03

最新評(píng)論