亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

gulp4.0升級(jí)小記

zorpan / 2426人閱讀

摘要:前言周日在公司的新電腦在以前配置的目錄按下時(shí)發(fā)現(xiàn)報(bào)了錯(cuò),百度了一下得知原來已經(jīng)到了版本,就花了一點(diǎn)時(shí)間去升了個(gè)級(jí),順便記下我個(gè)人使用到的配置文件新版本的不同點(diǎn),文筆和水平有限,多多見諒新引入新引入的可替換老版的和,代碼更簡潔是任務(wù)監(jiān)聽是任務(wù)

前言

周日在公司的新電腦在以前gulp3.9配置的目錄按下npm install時(shí)發(fā)現(xiàn)報(bào)了錯(cuò),百度了一下得知原來gulp已經(jīng)到了4.0版本,就花了一點(diǎn)時(shí)間去升了個(gè)級(jí),順便記下我個(gè)人使用到的配置文件新版本的不同點(diǎn),文筆和水平有限,多多見諒

1. 新Api引入
// v3.9
let gulp = require("gulp");

// v4.0
const { series, src, dest, watch } = require("gulp");

// 新引入的src,dest可替換老版的gulp.src和gulp.dest,代碼更簡潔
// watch是任務(wù)監(jiān)聽
// series是任務(wù)按順序執(zhí)行
2. 新的創(chuàng)建任務(wù)方式
// 下面以壓縮圖片插件 gulp-imagemin 為例

let imagemin = require("gulp-imagemin");

// v3.9
gulp.task("imagemin", () => {
  gulp.src("/path")
    .pipe(imagemin())
    .pipe(gulp.dest("/path"))
})

// 4.0
function minImage() {
    return src("/path")
            .pipe(imagemin())
            .pipe(dest("/path"))
}

// 新版本使用了函數(shù)和return進(jìn)行任務(wù)設(shè)置,函數(shù)名不能和引入的插件變量名稱重復(fù)
3. 執(zhí)行任務(wù)方式
// v3.9
gulp.task("default", [task1, task2])

// v4.0,taskFn是設(shè)置任務(wù)的函數(shù)名
function defaultTask() {
    return series(taskFn1, taskFn2, taskFn3);  // series讓任務(wù)按順序執(zhí)行
}
export.default = defaultTask() // 輸出控制臺(tái)執(zhí)行任務(wù)的名稱

// 新版本的export.xxxx,這個(gè)xxxx就是在控制臺(tái)中g(shù)ulp執(zhí)行任務(wù)的名稱,可以同時(shí)export設(shè)置多個(gè)任務(wù)
// 例如export.dev= dev(),想執(zhí)行dev函數(shù)中返回的任務(wù)就在控制臺(tái)輸入gulp dev加回車!,如果是export.build = build(),則在控制臺(tái)輸入gulp build加回車!,如果是export.default = default(),直接輸入gulp回車即可,以此類推
4. watch和series Api
// v3.9,老版本好像要安裝一個(gè)queue的插件才可以實(shí)現(xiàn)按順序執(zhí)行任務(wù)
let watch = require("gulp-watch");
gulp.task("watch", () => {
  gulp.watch(["filePath1", "filePath2"], [task1, task2]);
});

// 4.0
const { watch, series} = require("gulp");
function watchTask() {
    // 注意這里不需要使用return
    watch(["filePath1", "filePath2"], series(taskFn1, taskFn2, taskFn3));
}

// 新版本直接引入watch即可實(shí)現(xiàn)任務(wù)監(jiān)聽功能,不用安裝插件
// series也可以配合watch按順序執(zhí)行設(shè)置的任務(wù)函數(shù)
5. 插件gulp-autoprefixer配置變化
// v3.9
.pipe(autoprefixer({
      browsers: ["last 2 versions"],
      cascade: false
}))

// v4.0,需要在package.json文件添加browserslist鍵名或者在根目錄添加一個(gè).browserslistrc文件進(jìn)行g(shù)ulp-autoprefixer配置
// 詳情可以參考:https://github.com/browserslist/browserslist#queries
.pipe(autoprefixer())

// .browserslistrc文件
last 1 version
> 1%
maintained node versions
not dead

// package.json
"browserslist": [
   "last 1 version",
   "> 1%",
   "maintained node versions",
   "not dead"
]
其他的配置感覺新版本和老版本都是大同小異,暫時(shí)就是發(fā)現(xiàn)了這么多,親測可用 后記: 我是使用sass + gulp-autoprefixer進(jìn)行開發(fā)的,無意發(fā)現(xiàn)當(dāng)autoprefixer碰到-webkit-box-orient: vertical;時(shí)會(huì)自動(dòng)把這個(gè)樣式給刪了 0.0,折騰了一番找到解決方法如下
 -webkit-line-clamp: 3;
/* autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
overflow: hidden;

// 在/* autoprefixer: off */和/* autoprefixer: on */之間的代碼不會(huì)被刪除

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104838.html

相關(guān)文章

  • Vuex 升級(jí)入坑小記

    摘要:升級(jí)入坑小記場景描述引入的版本為,開啟調(diào)試工具默認(rèn)升級(jí)后可以調(diào)試。遂升級(jí),發(fā)現(xiàn)大量使用失效,報(bào),的中文文檔,沒有及時(shí)更新。機(jī)票訂單和用戶信息。 Vuex 升級(jí)入坑小記 場景描述 引入Vuex的版本為0.3,開啟調(diào)試工具默認(rèn)升級(jí)后可以調(diào)試Vuex。給作者一個(gè)大大的贊。為提高開發(fā)體驗(yàn)也是操碎了心 (??????)?? (8。安利下(Vue Devtools)。 Vue Devtools ...

    ziwenxie 評(píng)論0 收藏0
  • react-router 升級(jí)小記

    摘要:前言最近將公司項(xiàng)目的從版本升到了版本,跟完全不兼容,是一次徹底的重寫。升級(jí)過程中踩了不少的坑,也有一些值得分享的點(diǎn)。沒有就會(huì)匹配所有路由最后不得不說升級(jí)很困難,坑也很多。 前言 最近將公司項(xiàng)目的 react-router 從 v3 版本升到了 v4 版本,react-router v4 跟 v3 完全不兼容,是一次徹底的重寫。這也給升級(jí)造成了極大的困難,與其說升級(jí)不如說是對(duì) route...

    isLishude 評(píng)論0 收藏0
  • async語法升級(jí)踩坑小記

    摘要:普通的回調(diào)函數(shù)調(diào)用執(zhí)行后續(xù)邏輯使用了以后的復(fù)雜邏輯獲取到正確的結(jié)果輸出兩個(gè)文件拼接后的內(nèi)容雖說解決了的問題,不會(huì)出現(xiàn)一個(gè)函數(shù)前邊有二三十個(gè)空格的縮進(jìn)。所以直接使用關(guān)鍵字替換原有的普通回調(diào)函數(shù)即可。 從今年過完年回來,三月份開始,就一直在做重構(gòu)相關(guān)的事情。 就在今天剛剛上線了最新一次的重構(gòu)代碼,希望高峰期安好,接近半年的Node.js代碼重構(gòu)。 包含從callback+async.w...

    VioletJack 評(píng)論0 收藏0
  • 使用gulp配置代理,簡單解決前端跨域問題

    摘要:配置代理,解決跨域問題簡單的解決跨域問題,有實(shí)時(shí)重新加載功能,適用于偶爾改個(gè)文件,或者活動(dòng)頁上面有簡單的前后端交互初始化全局安裝本地下載包下載包新建文件實(shí)時(shí)重新加載啟動(dòng)時(shí)默認(rèn)瀏覽器打開的文件代理的域名因?yàn)樯?jí)到了,所以使 gulp配置代理,解決跨域問題 簡單的解決跨域問題,有實(shí)時(shí)重新加載功能,適用于偶爾改個(gè)文件,或者H5活動(dòng)頁上面有簡單的前后端交互 npm init初始化 全局安裝gu...

    taohonghui 評(píng)論0 收藏0
  • Django-Oscar小記:如何使用高版本Django開發(fā)網(wǎng)頁的SEO模塊

    摘要:在使用搜索的插件時(shí),很多插件都沒有更新到,有的插件更新到了的高版本,但是不適用于的。在升級(jí)到版本的時(shí)候刪除了很多類。正確指令不是,是完畢后,數(shù)據(jù)庫生成表。我們最終使用到的表就是。有了自己的基類之后,在中配置的父類。在使用Google搜索Django的SEO插件時(shí),很多插件都沒有更新到Python3.x,有的插件更新到了Python的高版本,但是不適用于Django的2.x。 Django在升...

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<