gulp打包

gulp打包是前端代码压缩的常用工具。

1、安装node

2、安装npm

以上测试安装是否成功输入(node -v或者npm -v)

3,安装gulp  执行npm install gulp -g

测试安装是否成功输入(gulp -v)

4、新建package.json文件到项目文件根目录

因为package.json是基于node.js项目必不可少的配置文件,用于存放项目根目录的普通json文件重点内容

方法是进入项目文件中执行npm init来新建package.json文件

5.本地安装gulp

全局安装gulp是为了执行gulp任务,本地安装gulp是为了调用gulp插件的功能进入你的项目文件路径中,执行npm install gulp --save-dev

6.安装gulp-sass插件

在项目文件路径后 ,执行npm install gulp-sass --save-dev

7.新建gulpfile.js

gulpfile.js是gulp的配置文件,放于根目录中。

示例内容:导入你需要的工具包 require('node_module里对应的模块')

var gulp =require('gulp'),

      sass=require('gulp-sass');

//sass任务

gulp.task('sass',function(){

    return gulp.src('src/css/test.scss')             //获取该任务需要的文件

    .pipe(sass())                                                //该任务调用的模块

    .pipe(gulp.dest('src/css'));                          //将在src/css文件夹中生产test.css

})

//默认任务

gulp.task('default',['sass','watchl']);

//监听文件

gulp.task('watchl',function(){

return gulp.watch('src/css/test.scss',['sass']);

//监听src/css/test.scss文件,修改时自动执行sass任务

})

注释:我们要告诉他要执行那些任务首先要知道自己项目需要那些任务

例:

1.检查js

2.编译sass(less)文件

3.合并js

4.压缩并重命名合并后的js

5.自动刷新页面

npm install gulp-jshint --save-dev jshint 安装失败问题: 解决方案: npm install --save-dev jshint 

gulp-jshint npm install gulp-sass --save-dev 编译sass文件

 npm install gulp-concat --save-dev 合并js 

npm install gulp-uglify --save-dev 通过UglifyJS来压缩JS文件

. npm install gulp-rename --save-dev 重命名文件的插件,当要把一个文件存储为不同版本时可以使用。比如在需要一个style.css同时你有需要一个style.min.css 

npm install gulp-autoprefixer --save-dev 使用Autoprefixer来补全浏览器兼容的css。

 gulp-minify-css 压缩css,最终是调用clean-css 参考:http://www.ydcss.com/archives/41 

gulp-gzip 压缩zip 

gulp-imagemin 压缩png/jpg/git/svg 格式图片文件 

gulp-util gulp常用的工具库 在安装gulp时默认已经安装,可以直接使用 

gulp-clean 清理档案

npm使用指南

3.2 gulp只有五个方法:task run watch src dest

文件配置如下也就是gulpfile.js

//引入gulp,项目文件中安装的gulp的引入方式 var gulp =require('gulp'); //引入组件 var jshint = require("gulp-jshint"); var gutil = require("gulp-util"); var sass= require("gulp-sass"); var concat = require("gulp-concat"); var uglify = require("gulp-uglify"); var rename = require("gulp-rename"); var path = require("path"); //var webpack = require("webpack"); //var WebpackDevServer = require("webpack-dev-server"); //var webpackConfig = require("./webpack.config.js");//也可以是某个特定目录下(比如:config)的文件、 var del = require("del"); //你也许会想要在编译文件之前删除一些文件 gulp.task('clean', function(cb) { return del(['build/**/*'], cb); }); //检查脚本 gulp.task('lint',function () { gulp.src('./src/javascript/**/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); //编译sass //sass 任务会编译scss/目录下的scss文件,并把编译完成的css文件保存到/css目录中 gulp.task('sass',function () { gulp.src("./src/scss/**/*.scss") .pipe(sass({outputStyle: 'compact'})) .pipe(gulp.dest("./build/css")); }); //合并,压缩文件 //scipts 任务会合并js 目录下的所有js文件并输出到dist目录中,然后gulp会重命名。压缩合并的文件,也输出到dist/目录 gulp.task('scripts',function () { gulp.src('./src/javascript/**/*.js') .pipe(concat('all.js')) .pipe(gulp.dest('./dest')) .pipe(rename("all.min.js")) .pipe(uglify()) .pipe(gulp.dest("./build")) }); //这时,我们创建了一个基于其他任务的default任务。 //使用.run()方法关联和运行我们上面定义的任务,使用.watch() 方法去坚挺制定目录的文件变化,当有文件变化时,会运行回调定义的其他任务。 gulp.task('default',function(){ //将你的默认的任务代码放在这里 gulp.run('lint','sass','scripts'); //监听文件变化 gulp.watch("",function () { gulp.run('lint','sass','scripts'); }); });
 

实验例子

执行gulp clean 会把build下的所有文件删除掉举一个例子

删除build文件夹下的oo下的所有文件,但是保留oo里的mm文件

var gulp =require('gulp'); 

var del = require("del"); //你也许会想要在编译文件之前删除一些文件 

gulp.task('clean:mobile', function(cb) { 
return del(['build/oo/**/*','!build/oo/mm']
, cb); });

//检查脚本

jshint 的安装命令:
ncmp install jshint gulp-jshint --save-dev

var jshint = require("gulp-jshint");

gulp.task('lint',function () { gulp.src('./src/javascript/**/*.js') .pipe(jshint()) .pipe(jshint.reporter('default')); }); 

根据行数找出错误就行

gulp-sass编译sass文件

var sass=require('gulp-sass');

gulp.task('sass',function(){

gulp.src('./src/scss/**/*.scss')

        .pipe(sass({outputStyle:'compact'}))

.pipe(gulp.dest("./build/css"))

})

就可以编译scss文件了

npm install gulp-jshint --save-dev jshint 安装失败问题: 解决方案: npm install --save-dev jshint gulp-jshint 

npm install gulp-sass --save-dev 编译sass文件

 npm install gulp-concat --save-dev 合并js 

npm install gulp-uglify --save-dev 通过UglifyJS来压缩JS文件. 

npm install gulp-rename --save-dev 重命名文件的插件,当要把一个文件存储为不同版本时可以使用。比如在需要一个style.css同时你有需要一个style.min.css npm install gulp-autoprefixer --save-dev 使用Autoprefixer来补全浏览器兼容的css。 gulp-minify-css 压缩css,最终是调用clean-css 参考:http://www.ydcss.com/archives/41 gulp-gzip 压缩zip gulp-imagemin 压缩png/jpg/git/svg 格式图片文件 gulp-util gulp常用的工具库 在安装gulp时默认已经安装,可以直接使用 gulp-clean 清理档案

猜你喜欢

转载自my.oschina.net/courtzjl/blog/1785696