摘要:利用處理和或者或者文件目錄項(xiàng)目根目錄安裝包依賴之后自動(dòng)生成的編譯后的文件放到這里安裝包依賴在中到項(xiàng)目目錄,然后會(huì)自動(dòng)安裝里面寫的插件,根據(jù)自己項(xiàng)目所需要的插件來(lái)安裝下面是我的項(xiàng)目的一些依賴清除文件合并文件編
文件目錄利用gulp處理js和less或者sass或者css
/項(xiàng)目根目錄
-gulpfile.js
-package.json
-/images
-/src
--/less
--/js
--*.html
//-node_modules//安裝包依賴之后自動(dòng)生成的
//--/web//編譯后的文件放到這里
安裝包依賴在git bash中cd到項(xiàng)目目錄,然后
npm install
會(huì)自動(dòng)安裝package.json里面寫的插件,根據(jù)自己項(xiàng)目所需要的插件來(lái)安裝,下面是我的項(xiàng)目的一些依賴
{ "name": "ionic-project", "version": "1.0.0", "description": "An Ionic project", "devDependencies": { "del": "^2.2.0", "gulp": "^3.9.1", "gulp-clean": "^0.3.1",//清除文件 "gulp-concat": "^2.6.0",//合并文件 "gulp-less": "^3.0.5",//編譯less,如果是sass還需要一個(gè)node的庫(kù)才能編譯 "gulp-minify-css": "^1.2.3",//壓縮css "gulp-rename": "^1.2.2",//重新命名 "gulp-template": "^3.1.0",//模板,這個(gè)可以替換一些關(guān)鍵字 "gulp-uglify": "^1.5.3"http://js壓縮混淆 } }編寫項(xiàng)目的gulpfile.js
var gulp = require("gulp"), minifycss = require("gulp-minify-css"), concat = require("gulp-concat"), uglify = require("gulp-uglify"), rename = require("gulp-rename"), less = require("gulp-less"), gclean = require("gulp-clean"), template = require("gulp-template"); var data = {cssLink: "css/main.css",jsLink: "js/main.min.js"};//資源路徑,一會(huì)會(huì)用template 來(lái)替換 gulp.task("clean", function() { return gulp.src("web", {read: false}) .pipe(gclean()); }); gulp.task("minifycss", function() { gulp.src("src/less/*.less") .pipe(less()) .pipe(minifycss()) //執(zhí)行壓縮 .pipe(gulp.dest("web/css")); //輸出文件夾 }); gulp.task("minifyjs", function() { gulp.src("src/js/*.js") .pipe(concat("main.js")) //合并所有js到main.js .pipe(rename({suffix: ".min"})) //rename壓縮后的文件名 .pipe(uglify()) //壓縮 .pipe(gulp.dest("web/js")); //輸出 }); gulp.task("watch", function() {//監(jiān)聽文件的變化 gulp.watch("src/less/*.less", ["minifycss"]); gulp.watch("src/js/*.js", ["minifyjs"]); gulp.watch("src/*.html", ["temp"]); }); gulp.task("temp", function () { return gulp.src("src/*.html") .pipe(template(data)) .pipe(gulp.dest("web")); }); gulp.task("default", ["clean"], function(){ gulp.start("minifycss", "minifyjs","images","temp","watch"); });
然后直接 gulp運(yùn)行就會(huì)默認(rèn)執(zhí)行default這個(gè)任務(wù),然后就會(huì)一直監(jiān)聽文件的改動(dòng).
圖片壓縮可以使用gulp的插件來(lái)壓縮,但是個(gè)人覺得還是用其他方法比較好,所以我把images放到了源碼外
推薦兩個(gè)壓縮圖片的網(wǎng)站tinypng 智圖
壓縮圖片在上線之前做就可以了
還可以在這個(gè)流程中加入es6的編譯,需要兩個(gè)庫(kù)
還可以自動(dòng)添加css前綴
等等
現(xiàn)在webpack很火,不過(guò),對(duì)于簡(jiǎn)單的項(xiàng)目來(lái)說(shuō)gulp更適合
公眾號(hào)
我們的主頁(yè)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/111673.html
摘要:話不多說(shuō),今天的主題是使用打造傳統(tǒng)項(xiàng)目的前端工作流。是一個(gè)廣泛使用的轉(zhuǎn)碼器,可以將代碼轉(zhuǎn)為代碼,從而在現(xiàn)有環(huán)境執(zhí)行。這意味著,你可以用的方式編寫程序,又不用擔(dān)心現(xiàn)有環(huán)境是否支持。 概述 最近前端一直是一個(gè)火熱的話題,前端技術(shù)棧也是伴隨著nodejs的出現(xiàn)而更替的飛快,導(dǎo)致大部分前端開發(fā)者曾一度迷茫在這各種技術(shù)選型上,比如前端自動(dòng)化工具就有Grunt,Gulp,Webpack,F(xiàn)is3等...
摘要:基本用法基本根據(jù)匹配文件,返回,可以通過(guò)方法傳遞給后續(xù)的插件。一般用法,把中的內(nèi)容按照指定的寫成文件,會(huì)自動(dòng)創(chuàng)建不存在的文件夾。,用來(lái)代理請(qǐng)求,可以把發(fā)送到指定的地址。常用于開發(fā),作用同上,也用于匹配資源,但用起來(lái)簡(jiǎn)單很多。 基本用法 // gulpfile.js gulp.task(foo, function() { gulp.src(glob) .pipe(...
摘要:所以它在某些程度上,跟的功能有些相同。嚴(yán)格上講,模塊化不是他強(qiáng)調(diào)的東西,他旨在規(guī)范前端開發(fā)流程。更是明顯強(qiáng)調(diào)模塊化開發(fā),而那些文件壓縮合并預(yù)處理等功能,不過(guò)是他附帶的功能。 1. webpack 是什么? showImg(https://segmentfault.com/img/remote/1460000012293461); 先來(lái)說(shuō)一下 webpack 是什么。 webpack 的...
摘要:歷史上由于是作為的替代品出現(xiàn),當(dāng)時(shí)要解決的問題是處理瀏覽器兼容問題,打包或,做一些公共資源替換,雪碧圖等,最后可以順帶合并到一個(gè)文件,但模塊化功能遠(yuǎn)遠(yuǎn)比弱,基本上只能合并,但不能理解模塊概念。 1 引言 說(shuō)到前端編譯方案,也就是如何打包項(xiàng)目,如何編譯組件,可選方案有很多,比如: 通過(guò) webpack / parcel / gulp 構(gòu)建項(xiàng)目。 通過(guò) parcel / gulp / b...
摘要:當(dāng)然需要的工具不只有這些,其他的一些可選工具還有文件壓縮壓縮時(shí)用到的文件重命名檢查一般編輯器自帶校驗(yàn)提示工具等等,具體根據(jù)項(xiàng)目需要安裝。 gulp 前端自動(dòng)化構(gòu)建工具 需要配置nodejs環(huán)境, 利用npm安裝全局gulp,安裝后可以輸入gulp指令。 npm install gulp -g 創(chuàng)建項(xiàng)目目錄、初始化npm包、gulp npm init gulp init 下載gul...
閱讀 2428·2021-11-11 11:01
閱讀 3302·2021-10-11 10:57
閱讀 2663·2021-09-30 09:46
閱讀 3503·2021-07-26 23:38
閱讀 1580·2019-08-29 12:22
閱讀 662·2019-08-29 11:28
閱讀 2364·2019-08-26 14:04
閱讀 3064·2019-08-23 18:34