欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Bootstrap4 gulp 配置詳解

 更新時(shí)間:2019年01月06日 10:10:43   作者:冉五五  
這篇文章主要介紹了Bootstrap4 gulp 配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近想寫個(gè)項(xiàng)目,由于之前一直寫后端,很少接觸前端,所以這次來好好學(xué)一下前端??戳讼耏ii框架,它自帶了Bootstrap框架,最開始想的是怎么快速寫個(gè)頁面,哪知道這個(gè)就像剝洋蔥一樣,就剝到了學(xué)習(xí)構(gòu)建工具的階段。

說個(gè)很沮喪的消息,等我把gulp這套工具調(diào)通了后,發(fā)現(xiàn)Github上居然有很多這樣的模板了!廢了我3天時(shí)間來搞這個(gè)東西。給個(gè)關(guān)鍵詞:bootstrap 4 gulp boilerplate。額,以及還有一個(gè)網(wǎng)站,這是我讀完bootstrap的文檔后發(fā)現(xiàn)的:https://vanillajstoolkit.com/plugins/

在項(xiàng)目目錄下的babelln/gulpfile.babel.js:

// 如果要編譯babel可以啟用
// const babel = require('gulp-babel');
// const concat = require('gulp-concat');
// const uglify = require('gulp-uglify');
const del = require("del");
const gulp = require("gulp");
const browserSync = require("browser-sync");
const sassCompile = require("gulp-sass");
const server = browserSync.create();

const paths = {
 scripts: {
  src: "src/scripts/*.js",
  dest: "dist/scripts"
 },
 css: {
  src: "src/scss/*.scss",
  dest: "dist/css"
 }
};

// 定義清理方法,會(huì)刪除dist目錄
const clean = () => del(["dist"]);

// 定義需要拷貝到dist目錄的文件,一般APP最終使用的JS和CSS文件在這個(gè)目錄中
const scriptFiles = [
 paths.scripts.src,
 "node_modules/bootstrap/dist/js/bootstrap.min.js",
 "node_modules/jquery/dist/jquery.min.js",
 "node_modules/popper.js/dist/umd/popper.min.js"
];

// 編譯babel文件的時(shí)候使用
// function scripts() {
//  return gulp.src(paths.scripts.src, { sourcemaps: true })
//   .pipe(babel())
//   .pipe(uglify())
//   .pipe(concat('index.min.js'))
//   .pipe(gulp.dest(paths.scripts.dest));
// }

// 將源代碼文件復(fù)制到目的地,中間可以加入其他處理程序
function scripts() {
 return gulp.src(scriptFiles).pipe(gulp.dest(paths.scripts.dest));
}

// 重啟web服務(wù)
function reload(done) {
 server.reload();
 done();
}

// 編譯sass文件,在dist/css目錄產(chǎn)生結(jié)果文件
function sass() {
 return gulp
  .src(["node_modules/bootstrap/scss/bootstrap.scss", paths.css.src])
  .pipe(sassCompile())
  .pipe(gulp.dest(paths.css.dest));
}

// 服務(wù)初始化,以當(dāng)前目錄babelln/作為網(wǎng)站根目錄
function serve(done) {
 server.init({
  server: {
   baseDir: "./"
  }
 });
 done();
}

// 定義需要監(jiān)控的文件
const watches = [paths.scripts.src, "*.html", paths.css.src];

// 定義watch函數(shù),它監(jiān)控watches定義的文件,然后順序執(zhí)行這些方法
const watch = () => gulp.watch(watches, gulp.series(scripts, sass, reload));

// 再包裝一層,整個(gè)流程就是清理,編譯腳本,編譯sass,初始化web服務(wù),啟動(dòng)監(jiān)控
const dev = gulp.series(clean, scripts, sass, serve, watch);

// 暴露默認(rèn)方法給外部程序
exports.default = dev;

這個(gè)就是根據(jù)gulp官方的模板來捏的,最終還算是可以工作。

最后放個(gè)效果圖^^

編譯界面:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js下利用userData實(shí)現(xiàn)客戶端保存表單數(shù)據(jù)

    js下利用userData實(shí)現(xiàn)客戶端保存表單數(shù)據(jù)

    對(duì)于多數(shù)網(wǎng)頁制作的朋友,實(shí)現(xiàn)在客戶端保存在網(wǎng)頁表單上的信息,比較多的是采用Cookie技術(shù)來實(shí)現(xiàn),這些功能例如:下拉列表框選擇的選項(xiàng),文本框輸入的數(shù)據(jù)等。
    2010-06-06
  • es6學(xué)習(xí)筆記之Async函數(shù)基本教程

    es6學(xué)習(xí)筆記之Async函數(shù)基本教程

    這篇文章主要給大家介紹了關(guān)于es6中Async函數(shù)的基本教程,文中介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)async函數(shù)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-05-05
  • JavaScript中判斷數(shù)據(jù)類型的方法總結(jié)

    JavaScript中判斷數(shù)據(jù)類型的方法總結(jié)

    比如要判斷一個(gè)變量是否是數(shù)組類型,PHP中有is_array()函數(shù)可以直接判斷,然而js中我們需要...-- well,下面我們就來詳細(xì)看一下JavaScript中判斷數(shù)據(jù)類型的方法總結(jié)
    2016-05-05
  • js實(shí)現(xiàn)無限瀑布流實(shí)例方法

    js實(shí)現(xiàn)無限瀑布流實(shí)例方法

    在本篇文章里小編給大家整理的是關(guān)于js實(shí)現(xiàn)無限瀑布流實(shí)例方法以及相關(guān)代碼,需要的朋友們學(xué)習(xí)下吧。
    2019-09-09
  • 通過JS 獲取Mouse Position(鼠標(biāo)坐標(biāo))的代碼

    通過JS 獲取Mouse Position(鼠標(biāo)坐標(biāo))的代碼

    最近我發(fā)現(xiàn)在webpage中獲取空間的絕對(duì)坐標(biāo)時(shí),如果有滾動(dòng)條就會(huì)有錯(cuò),后來用無名發(fā)現(xiàn)的方法得以解決。
    2009-09-09
  • JavaScript代碼執(zhí)行的先后順序問題

    JavaScript代碼執(zhí)行的先后順序問題

    今天就給大家介紹一個(gè)特別基礎(chǔ)的東西,javascript中函數(shù)的一點(diǎn)兒小知識(shí)之js代碼的執(zhí)行順序問題,需要的朋友參考下吧
    2017-10-10
  • 利用js給datalist或select動(dòng)態(tài)添加option選項(xiàng)的方法

    利用js給datalist或select動(dòng)態(tài)添加option選項(xiàng)的方法

    下面小編就為大家分享一篇利用js給datalist或select動(dòng)態(tài)添加option選項(xiàng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼

    BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼

    BootstrapValidator是基于bootstrap3的jquery表單驗(yàn)證插件,是最適合bootstrap框架的表單驗(yàn)證插件,本文給大家介紹BootstrapValidator不觸發(fā)校驗(yàn)的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧
    2016-09-09
  • 在圖片上顯示左右箭頭類似翻頁的代碼

    在圖片上顯示左右箭頭類似翻頁的代碼

    使用JS實(shí)現(xiàn)在圖片上顯示左右箭頭的翻頁代碼.實(shí)例使用了javascript的onmousemove 事件,onmousemove 事件會(huì)在鼠標(biāo)指針移動(dòng)時(shí)發(fā)生,感興趣的你可以參考下本文或許對(duì)你有所幫助
    2013-03-03
  • 有道JavaScript監(jiān)聽瀏覽器的問題

    有道JavaScript監(jiān)聽瀏覽器的問題

    相信大家在web項(xiàng)目中,經(jīng)常會(huì)用到j(luò)avascript的事件監(jiān)聽、事件冒泡這些東西。當(dāng)然也包括window.opener,window.showModalDialog這些父子窗口的互操作。
    2010-06-06

最新評(píng)論