zoukankan      html  css  js  c++  java
  • 前端工具Gulp的学习

       很久以前就听说过,如果想在做好一个真正的web前端工程师,必须要会自动化构建工具。比如Grunt,Gulp,webpack。总听大神说用这些工具来构建一个自动化的前端环境,什么文件压缩,文件合并,js语法检查,css自动添加前缀,编译less/sass,自动刷新页面,文件重命名等。配置好文件后,一个命令就能让整个流程跑起来。想想也是多么的炫酷,于是,带着种种疑问,从上周就开始了对Gulp的学习,一周时间算是对Gulp有个入门的了解了,也踩了不少坑。

       先搭建一个环境吧。准备步骤。(直接口述了,就不放图了。)

        1,到nodejs官网下载一个nodejs安装程序,然后安装nodejs,点击默认安装就行了。此时,会自动给系统添加一个环境变量,因此在系统的Path环境变量中就会有nodejs的安装路径,如果没有,自己手动添加即可。

        2,由于现在nodejs都集成了npm,因此,打开命令行工具后,依次输入 node -v  ,  npm -v 看看是否能够成功打印出 版本号,如果觉得npm版本过低,可以 用 npm i npm -g更新。i是install的缩写。此外还可以用   npm config get prefix 找到npm的安装路径。

        3,全局安装 gulp, npm install gulp -g  ,安装完成后,gulp就安装在了npm下面的node_modules文件夹下。

        4,增加系统NODE_PATH的环境变量,一般都是在    C:UsersAdministrator(这个根据你你自己的定)AppDataRoaming pm ode_modules。

        5,设置完成后,cmd中输入 gulp -v ,如果能够正确输出版本号,说明下载gulp成功,环境配置也成功了。

        6,实战demo了。此时我们找个位置,比如桌面上,新建一个文件夹,建好目录结构。比如取名  gulp-demo,完后我们cd desktop/gulp-demo,就进入了gulp-demo项目了。首先,我们输入命令npm init,一路enter,该命令会保存我们的所用到的以及配置的信息。方便我们在另一个环境上按照上面的信息来安装包。然后我们需要在本地,也就是在项目内安装gulp以及各种模块。       npm i gulp --save-dev     (--save就会将模块信息保存到package.json中)  。

    再在根目录新建一个gulpfile.js文件,来配置我们的任务。

        7,文件合并,文件压缩,语法检查,监听文件变化。先搞这四个吧。

        

    var gulp = require('gulp');
    var jshint = require('gulp-jshint');//语法检查
    var concat = require('gulp-concat');//合并文件
    var uglify = require('gulp-uglify');//压缩代码
    var rename = require('gulp-rename');//重命名
    // 语法检查
    gulp.task('jshint', function () {
    return gulp.src('public/javascripts/*.js')
    .pipe(jshint())
    .pipe(jshint.reporter('default'));
    });
    // 合并文件之后压缩代码
    gulp.task('minify', function (){
    return gulp.src('public/javascripts/*.js')
    .pipe(concat('all.js'))
    .pipe(gulp.dest('public/javascripts/dist'))
    .pipe(uglify())
    .pipe(rename('all.min.js'))
    .pipe(gulp.dest('public/javascripts/dist'));
    });
    // 监视文件的变化
    gulp.task('watch', function () {
    gulp.watch('public/javascripts/*.js', ['jshint', 'minify']);
    });
    // 注册缺省任务
    gulp.task('default', ['jshint', 'minify', 'watch']);

     由于本人也还刚处于入门阶段,如果有不对的地方,希望批评与指教。3q。

  • 相关阅读:
    面向对象property属性、静态方法和类方法
    【枚举】枚举简单使用
    【Mac】Mac快捷键与Mac下的Idea快捷键
    @PostConstruct注解
    【通过ssh oracle11g安装】centos6静默安装oracle11g
    【Zookeeper02】ZK的作用以及使用
    【linux杂记】Ubuntu查看端口使用情况
    【数据结构--二叉树】Java递归实现二叉树遍历
    【python3两小时根本不够】入门笔记04:线程+Lock安全同步
    【python3两小时快速入门】入门笔记03:简单爬虫+多线程爬虫
  • 原文地址:https://www.cnblogs.com/hl-520/p/5701235.html
Copyright © 2011-2022 走看看