第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

gulp學(xué)習(xí)

標(biāo)簽:
Node.js 前端工具

Gulp

基于node平台开发的前端构建工具

将机械化操作编写成任务,想要执行机械化操作时执行一个命令行命令,任务就能自动执行了

用机械代替手工,提高开发效率


gulp的作用

1.项目上线,HTML,CSS,JS 文件压缩合并

2.语法转换(es6,less...)

3.公共文件抽离

4.修改文件浏览器自动刷新


Gulp使用方法

1.使用 npm install gulp 下载gulp库文件

2.在项目根目录下建立 gulpfile.js 文件

3.重构项目的文件夹结构 src目录放置源代码文件 dist目录放置构建后文件

4.在 gulpfile.js 文件中编写任务

5.在命令行工具中执行 gulp 任务


gulp 中提供的方法

1.gulp.src():获取任务要处理的文件

2.gulp.dest():输出文件

3.gulp.task():建立gulp任务

4.gulp.watch():监控文件的变化


安装gulp命令行工具 :npm install gulp-cli -g

gulp使用实例:

1.在gulpfile.js中引用gulp模块

const gulp = require('gulp');

2.使用gulp.task建立任务

//1.任务的名称
//2.任务的回调函数
gulp.task('first',() => {
  console.log("人生中的第一个gulp任务执行了");
  //1.使用gulp.src获取要处理的文件
  gulp.src('./src/css/index.css').pipe(gulp.dest('dist/css'));
})

注意:现在这样写会报下面的错误

https://img3.sycdn.imooc.com/5ec1dc58000174a807120087.jpg

原因:因为gulp不再支持同步任务.因为同步任务常常会导致难以调试的细微错误,例如忘记从任务(task)中返回 stream。

当你看到 "Did you forget to signal async completion?" 警告时,说明你并未使用前面提到的返回方式。你需要使用 callback 或返回 stream、promise、event emitter、child process、observable 来解决此问题。

修改成下面的样子就可以了:

gulp.task('first',(done) => {
  console.log("人生中的第一个gulp任务执行了");
  //1.使用gulp.src获取要处理的文件
  gulp.src('./src/css/index.css').pipe(gulp.dest('dist/css'));
  done()
})

gulp插件

    1.gulp-htmlmin:html文件压缩   https://www.npmjs.com/package/gulp-htmlmin

    2.gulp-csso:压缩css  https://www.npmjs.com/package/gulp-csso

    3.gulp-babel:JavaScript语法转化,es6转成es5

    4.gulp-less:less语法转化成css  https://www.npmjs.com/package/gulp-less

    5.gulp-uglify:压缩混淆JavaScript

    6.gulp-file-include:公共文件包含    https://www.npmjs.com/package/gulp-file-include

    7.browsersync:浏览器实时同步

插件使用:

1.下载插件

npm install gulp-htmlmin
npm install gulp-file-include

2.gulpfile.js中引用插件

const htmlmin = require('gulp-htmlmin');
const fileinclude = require('gulp-file-include');

3.编写任务,调用插件

//html任务
//1.html文件中代码的压缩操作
//2.抽取html文件中的公共代码
gulp.task('htmlmin',(done) => {
  gulp.src('./src/*.html')//*代表src下所有的HTML文件
          .pipe(fileinclude())//抽离公共代码
      //压缩HTML文件中的代码
      .pipe(htmlmin({ collapseWhitespace: true }))//collapseWhitespace:代表压缩html代码是否压缩空格
      .pipe(gulp.dest('dist'))
      done()
})

注意:虽然任务是压缩文件代码和抽离公共代码的顺序,但是我们做任务是要先抽离公共代码,再去压缩文件代码

我们把公共代码放在src目录下的common目录中

https://img1.sycdn.imooc.com/5ec3543b0001ef9607160479.jpg

公共代码抽离出来后,在原本的HTML文件中引入公共代码

@@include('./common/header.html')

这样执行了htmlmin这个任务后就会看到,压缩后的文件中也有了公共的头部

https://img1.sycdn.imooc.com/5ec35af90001fa1d13140472.jpg


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消