摘要:首先聲明一下,和兩者關(guān)系不大,主要是團隊之前一直用構(gòu)建工具,這幾天業(yè)務(wù)上比較清閑,老大讓我學(xué)學(xué)新的和這些潮流工具,于是草草研究了一天,記一些筆記。最后使用將各個組件打包在一起。
首先聲明一下,gulp和webpack兩者關(guān)系不大,主要是團隊之前一直用grunt構(gòu)建工具,這幾天業(yè)務(wù)上比較清閑,老大讓我學(xué)學(xué)新的gulp和webpack這些“潮流”工具,于是草草研究了一天,記一些筆記。
gulp 真正“流程”化工具我記得實習(xí)剛剛進公司看到grunt,還是有點蒙,之前一直是本地開發(fā),游覽器F5,沒想到前端也需要“編譯工具”。所以grunt一直給我的感覺是“編譯工具”,你寫的很多代碼還不能直接“執(zhí)行”,需要這一個工具去“編譯”才能上線。它去自動化了很多東西,我之后也寫過一個公司用的grunt插件,只需要配置,之后加入任務(wù)執(zhí)行,很方便。但當(dāng)我看到gulp的代碼的時候(還沒開始看文檔,API),我突然意識到很多grunt“不自然”的設(shè)計,gulp真正的做到了清晰的流程化的構(gòu)建。
gulp.task("default", function() { // 將你的默認(rèn)的任務(wù)代碼放在這 gulp.src("client/*.js") .pipe(replace("bar", "foo")) .pipe(minify()) .pipe(gulp.dest("build/")); });
這是我仿照官網(wǎng)寫的DEMO,對很多工程師來說pipe這個命名就很清晰了,它就是借鑒了unix的管道概念,前面文件輸出給后面文件,這個也就是gulp對比grunt最大的改進,更加簡單明了,據(jù)說這樣也加快速度,還沒有在實際項目中運用過,所以沒有對比過。不管這種設(shè)計的確可以說是grunt的替代品了。
至于插件方面也不用擔(dān)心,gulp的插件也很強大,基本上項目常用的都有。
webpack也很火,它官網(wǎng)的圖也介紹了它的作用,所有前端東西都打包成js文件。初學(xué)了它,我想它解決的問題就是現(xiàn)在的前端各種各樣的“語言”,什么sass呀,coffeescript,還有框架模板,語法糖什么的,各有各的編譯工具,而webpack的loader可以通殺,安裝好相應(yīng)的工具,它就可以統(tǒng)統(tǒng)的按你的想法打包在一起。
比如vue,就可以放在單文件里,在團隊中做到組件開發(fā),甚至各個人寫不同的模板都行。最后使用webpack將各個組件打包在一起。
webpack的配置文件:
var path = require("path"); module.exports = { entry: "./static/entry.js", //演示單入口文件 output: { path: path.join(__dirname, "out"), //打包輸出的路徑 filename: "bundle.js", //打包后的名字 publicPath: "./static/out/" //html引用路徑,在這里是本地地址。 }, // 新添加的module屬性 module: { loaders: [ // 解析.vue文件 { test: /.vue$/, loader: "vue" }, // 轉(zhuǎn)化ES6的語法 { test: /.js$/, loader: "babel", exclude: /node_modules/ }, // 編譯css并自動添加css前綴 { test: /.css$/, loader: "style!css!autoprefixer"}, //.scss 文件想要編譯,scss就需要這些東西!來編譯處理 //install css-loader style-loader sass-loader node-sass --save-dev { test: /.scss$/, loader: "style!css!sass?sourceMap"}, // 圖片轉(zhuǎn)化,小于8K自動轉(zhuǎn)化為base64的編碼 { test: /.(png|jpg|gif)$/, loader: "url-loader?limit=8192"}, //html模板編譯? { test: /.(html|tpl)$/, loader: "html-loader" }, ] }, // .vue的配置。需要多帶帶出來配置 vue: { loaders: { css: "style!css!autoprefixer", html:"html-loader" } }, };
webpack可能對于單頁應(yīng)用的開發(fā)和管理很有幫助,對于簡單的html的開發(fā),gulp就已經(jīng)綽綽有余了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79858.html
摘要:在終端中使用可以自動創(chuàng)建這個文件輸入這個命令后,終端會問你一系列問題。百度后發(fā)現(xiàn)引入了模式,有三個狀態(tài),開發(fā)模式生產(chǎn)模式無。 什么是webpack,為什么要使用webapck * 導(dǎo)語 之前一直忙著項目,沒時間整理自己的東西,最近剛好發(fā)現(xiàn)自己對webpack又如此陌生了,于是整理了一篇關(guān)于webpack初探的干貨,這里是一點簡單的webpack配置 為什么使用webpck 現(xiàn)今很多網(wǎng)頁...
摘要:基本配置項基本配置項。的插件架構(gòu)主要基于實現(xiàn)的,這個就是專注于事件的廣播和操作。開啟多進程,加快打包速度。 這次我們主要研究的是webpack框架的相關(guān)知識,webpack是一個打包構(gòu)建的前端框架,用于解決前端開發(fā)的模塊化問題。 應(yīng)用場景和縱向比較 說到webpack,肯定你還會想到gulp和grunt這些框架,那么webpack是做什么的呢?他和其他的框架有什么區(qū)別呢?我們一起來分析...
摘要:它能夠使得在不刷新瀏覽器的情況下,更改本地的前端代碼組件,瀏覽器自動更新預(yù)覽。直接集成了這項技術(shù),而且建立了專門的通道進行錯誤的實時反饋。命令行提供了三個主要的命令,。服務(wù)器關(guān)于服務(wù)器,其實是內(nèi)部起了一個基于的服務(wù)器,外加進行消息的通訊。 跟著初探了下flintjs,的確會很棒,超級熱更新! 學(xué)習(xí)地址: http://frontenddev.org/link/ali-11-11-...
摘要:前言與是目前圈子內(nèi)比較活躍的前端構(gòu)建工具。對于初學(xué)者來說,對這二者往往容易認(rèn)識不清,今天,就從事件的源頭,說清楚與。它可以將許多松散的模塊按照依賴和規(guī)則打包成符合生產(chǎn)環(huán)境部署的前端資源。打包后形成的文件出口。 前言:Webpack 與 gulp是目前圈子內(nèi)比較活躍的前端構(gòu)建工具。網(wǎng)上有很多二者比較的文章,面試中也會經(jīng)常遇到gulp,Webpack的區(qū)別這樣的問題。對于初學(xué)者來說,對這二...
閱讀 2858·2021-09-22 15:43
閱讀 4717·2021-09-06 15:02
閱讀 852·2019-08-29 13:55
閱讀 1684·2019-08-29 12:58
閱讀 3068·2019-08-29 12:38
閱讀 1213·2019-08-26 12:20
閱讀 2270·2019-08-26 12:12
閱讀 3318·2019-08-23 18:35