前言:(推荐用最后一个方法)
方法一:
gulp项目搭建流程
项目初始化
npm install --global gulp 或 npm install -g gulp
gulp -v //查看版本
npm init //出现package.json文件
注释:初始化的时候要求你输入一些值,不输的直接回车即可,点击y之后在根目录自动创建了一个package.json文件,这个文件用来存放即将安装的插件name和version,这个文件有什么用呢?当我们把项目拷贝给别人的时候不需要拷贝插件,只需要把项目文件、package.json和gulp.file.js拷贝过去就可以,接收人cd到项目文件目录直接输入npm install即可安装上我们拷贝前安装的各种插件。
npm install gulp --save-dev //本地创建
创建gulpfile.js主文件
常用 gulp 插件
编译 less :gulp-less; //www.npmjs.com/package/gulp-less
创建本地服务器: gulp-connect //www.npmjs.com/package/gulp-connect
合并文件: gulp-concat//www.npmjs.com/package/gulp-concat
最小化js文件: gulp-uglify //www.npmjs.com/package/gulp-uglify
压缩css: gulp-cssnano //www.npmjs.com/package/gulp-cssnano
最小化图像: gulp-imagemin //www.npmjs.com/package/gulp-imagemin
JS语法检查: gulp-jshint //www.npmjs.com/package/gulp-jshint
jshint在gulp中的使用
npm install jshint gulp-jshint --save-dev =>
在gulpfile中
var jshint = require('gup-jshint');
var packageJSON = require('./package');
var jshintConfig = packageJSON.jshintConfig;
jshintConfig.lookup = false;
gulp.task('jshint',function(){
gulp.src('src/script/*.js')
.pipe(jshint(jshintConfig))
.pipe(jshint.reporter('default'));
}) =>
配置.jshintrc文件
{
"undef": true,
"unused": true,
"predef": [ "MY_GLOBAL" ]
} =>
配置package.json文件添加
"jshintConfig":{
"undef": true,
"unused": true,
"predef": [ "MY_GLOBAL", "ads" ]
}
最终gulpfile文件代码:
var gulp = require('gulp');
var less = require('gulp-less');
var cssnano = require('gulp-cssnano');//css 压缩
var concat = require('gulp-concat');//js合并
var uglify = require('gulp-uglify');//js压缩
var rename = require('gulp-rename');//别名
var jshint = require('gulp-jshint');//语法检查
var packageJSON = require('./package');
var jshintConfig = packageJSON.jshintConfig;
var connect = require('gulp-connect'); //自动刷新
jshintConfig.lookup = false;
gulp.task('less',function(){
//gulp.src取一个文件
//pipel里传递一个要执行的操作
//gulp.dest目的地终点
gulp.src('src/less/*.less')
.pipe(less())
.pipe(cssnano())
.pipe(gulp.dest('build/css'));
});
gulp.task('jshint',function(){
gulp.src('src/script/*.js')
.pipe(jshint(jshintConfig))
.pipe(jshint.reporter('default'));
})
gulp.task('concat',function(){
gulp.src('src/script/*.js')
.pipe(concat('fn-script.js'))//合并后js名
.pipe(uglify())
.pipe(rename('fn-script.min.js'))
.pipe(gulp.dest('build/script'));
});
gulp.task('connect',function(){
connect.server({
root: './',
port: 8000,
livereload: true
});
});
gulp.task('html',function(){
gulp.src('src/*.html')
.pipe(connect.reload())
.pipe(gulp.dest('build'));
});
gulp.task('dish',function(){
gulp.watch('src/less/fn-style.less',['less']);
gulp.watch('src/script/*.js',['concat']);
gulp.watch('src/script/*.js',['jshint']);
gulp.watch('src/*.html',['html']);
});
gulp.task('default',['connect','dish']);
方法二:
一、安装与创建
1.安装node:https://nodejs.org/zh-cn/
2.安装gulp:npm install gulp -g
3.新建一个文件夹用来存放项目
4.在命令行进入创建的文件夹输入 gulp init即可
5.新建一个gulpfile.js文件配置任务
二、项目目录介绍
三、运行与打包
在项目根目录打开命令行,输入gulp回车。
就会在项目根目录自动生成一个dist目录,扔到服务器即可。
在浏览器输入http://localhost:8088 即可浏览项目,如需自动打开浏览器浏览项目
把gulpfile.js里面中的注释即可
方法三:
快速搭建gulp项目实战
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。
正文
1. 安装NodeJS,自行在node官网下载,并安装,通过node-v检查是否安装成功
2.在此项目中,使用的是cnpm进行安装的,如果想使用cnpm安装,去淘宝镜像安装cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org 安装cnpm
2. 安装Gulp环境
1.安装全局环境,运行命令
npm install gulp –g
3. 项目中使用Gulp
1.创建一个新的文件夹(gulp创建的文件夹),进行初始化 cnpm init会出现下面内容,并在文件夹中有一个package.json
2.在命令中运行安装本地Gulp环境
cnpm install gulp --save-dev
3.在本地文件新建文件名为 gulpfile.js
文件:
常用的一些方法<br>gulp.task 定义任务<br>gulp.src 找到执行文件<br>gulp.dest 执行任务的文件去出<br>gulp.watch 观察文件是否发生变化
4.安装一些常用的压缩包
cnpm install gulp-minify-css gulp-uglify gulp-concat --save-dev
/
1.css压缩 gulp-minify-css
2.js压缩 gulp-uglify
3.js合并 gulp-concat
4.图片压缩 gulp-imagemin<br>5.less转化成css gulp-less
5.在文件中新建一个src目录,用于存放你文件,
6.实现一个文件合并,在src下面创建两个html文件
gulpfile.js:
var gulp = require('gulp');
gulp.task("copyHtml",function(www.mcyllpt.com/){
gulp.src("src/*.html") //当前目录下所有的html文件
.pipe(gulp.dest("dist"))thd178.com //文件的去处
})<br>dist是通过 gulp copyHtml生成的文件夹
常用的代码压缩
gulpfile.js:
var gulp = require('gulp');
var imagemin = require('gulp-imagemin'); 图片压缩
var uglify = require("gulp-uglify"); js压缩
var less = require('gulp-less'); less
var cleanCSS = require('gulp-clean-css'); css压缩
//文件合并
gulp.task("copyHtml",function(){
gulp.src("src/*.html")
.pipe(gulp.dest("dist")www.yigouyule2.cn ) //把src目录中所有html格式的文件全部合并到dist目录中
})
//图片压缩
gulp.task("imagemin",function(www.thqpt.com) {
gulp.src("src/images/*") 所有src > images中的图片
.pipe(imagemin(www.fencaiyule.cn)) 图片压缩
.pipe(gulp.dest(www.dongfan178.com "dist/images")) //放入到dist目录下面的images文件
})
//js压缩
gulp.task("uglify",function() {
gulp.src("src/js/*.js")
.pipe(uglify()) //压缩js代码
.pipe(gulp.dest("dist/js")) //通过gulp uglify命令,自动输出dist下面js文件
})
//css压缩并less转换成css
gulp.task("lessc",function(www.qinlinyule.cn) {
gulp.src("src/less/*.less") //手动创建
.pipe(less()) //将less文件编译成css文件
.pipe(cleanCSS()) //压缩css
.pipe(gulp.dest("dist/css")) //通过gulp lessc 命令,自动输出dist/css文件
})
//监听文件是否有变化
gulp.task("watch",function(www.078881.cn){
gulp.watch("src/*.html",['copyHtml']);
gulp.watch("src/images/*",['imagemin']);
gulp.watch("src/js/*.js",['uglify']);
gulp.watch("src/lessc/*.less",['lessc'])
})<br>通过输入gulp watch自动编译