用gulp搭建一个前端项目

前言:(推荐用最后一个方法)

方法一:

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自动编译
发布了133 篇原创文章 · 获赞 44 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_41646249/article/details/103161108