gulp完成javascript压缩合并,css压缩

最近需要对项目进行优化,主要是对js的压缩合并和css文件的压缩,查找相关资料之后发现gulp可以实现相关的功能,特此分享一下使用心得。

1.安装gulp

gulp是基于Node.js的前端构建工具。所以首先需要安装nodejs,安装nodejs

完成nodejs安装之后,需要使用npm安装gulp。

先安装全局gulp

npm install -g gulp

然后在项目根目录下安装本地gulp。

此时项目根目录下会多出下面这个文件夹 node_modules

好的,现在gulp已经安装完成了,但是gulp本身不提供js压缩合并等功能,需要使用gulp的相关插件。目前只需要完成js压缩合并和css文件压缩的功能,先安装相应的插件:

1.css压缩   gulp-minify-css

2.js压缩   gulp-uglify

3.js合并   gulp-concat  

由于压缩之前需要对js代码进行代码检测,压缩完成之后需要加上min的后缀,我们还需要安装另外两个插件:

4.重命名     gulp-rename

5.js代码检测  gulp-jshint (或gulp-jslint)

(更多插件可以查看 http://gulpjs.com/plugins/ )

在项目根目录下执行以下命令:

npm install gulp-minify-css gulp-uglify gulp-concat gulp-rename gulp-jshint --save-dev

安装好的插件会出现在上面提到的node_modules文件夹中。

2.使用gulp

ok,现在可以使用gulp了,在项目根目录下创建gulpfile.js文件。

在gulpfile.js中添加以下代码

var gulp = require(‘gulp‘),
    minifycss = require(‘gulp-minify-css‘),
    concat = require(‘gulp-concat‘),
    uglify = require(‘gulp-uglify‘),
    rename = require(‘gulp-rename‘),
    jshint=require(‘gulp-jshint‘);

    //语法检查
    gulp.task(‘jshint‘, function () {
        return gulp.src(‘js/*.js‘)
            .pipe(jshint())
            .pipe(jshint.reporter(‘default‘));
    });

    //压缩css
    gulp.task(‘minifycss‘, function() {
        return gulp.src(‘css/*.css‘)    //需要操作的文件
            .pipe(rename({suffix: ‘.min‘}))   //rename压缩后的文件名
            .pipe(minifycss())   //执行压缩
            .pipe(gulp.dest(‘Css‘));   //输出文件夹
    });

    //压缩,合并 js
    gulp.task(‘minifyjs‘, function() {
        return gulp.src(‘js/*.js‘)      //需要操作的文件
            .pipe(concat(‘main.js‘))    //合并所有js到main.js
            .pipe(gulp.dest(‘js‘))       //输出到文件夹
            .pipe(rename({suffix: ‘.min‘}))   //rename压缩后的文件名
            .pipe(uglify())    //压缩
            .pipe(gulp.dest(‘Js‘));  //输出
    });

  //默认命令,在cmd中输入gulp后,执行的就是这个任务(压缩js需要在检查js之后操作)
    gulp.task(‘default‘,[‘jshint‘],function() {
        gulp.start(‘minifycss‘,‘minifyjs‘);
  });

上述代码中的相关方法可以查看 gulp API docs

在文件根目录下执行gulp命令:

(如果Js文件有问题时,会出现相应的error提示,按照提示的错误信息修改即可)

bingo,现在可以在css文件夹中看到压缩好的css文件,在js中可以看到合并压缩好的main.min.js 。任务完成,只需要将html中css,js引用的路径修改成新的路径即可。

以上便是使用gulp的心得体会,gulp是一个正在快速成长的构建工具,他还有很多其他好用的工具(例如watch功能,可以实时监视文件的变化,自动完成相关操作)。以后可以继续关注、研究gulp,更多的应用gulp到前端开发中。

时间: 2024-08-25 17:19:18

gulp完成javascript压缩合并,css压缩的相关文章

gulp教程之压缩合并css,js

package.json如果你熟悉 npm 则可以利用 package.json 保存所有 npm install --save-dev gulp-xxx 模块依赖和模块版本.在命令行输入 npm init 会依次要求补全项目信息,不清楚的可以直接回车跳过 安装依赖安装 gulp 到项目(防止全局 gulp 升级后与此项目 gulpfile.js 代码不兼容) nup install gulp --save-dev 说明:--save-dev 保存配置信息至 package.json 的 dev

grunt压缩合并js

[grunt整合版]30分钟学会使用grunt打包前端代码 grunt 准备阶段 1.nodeJs环境 2.安装grunt 实例学习:打包zepto ① package.json ② Gruntfile.js 认识Gruntdile与package.json package.json Gruntfile 合并文件 合并requireJS管理的文件 配置任务/grunt.initConfig grunt插件 grunt-contrib-unglify grunt-contrib-concat gr

gulp 中对于css文件的压缩合并出现的unable to minify JavaScript问题

在我们日常使用gulp进行js文件压缩合并的时候: const gulp = require('gulp'); const concat = require('gulp-concat'); const rename = require('gulp-rename'); const uglify = require('gulp-uglify'); gulp.task('copy-js',() => { gulp.src('./js/**/*') .pipe(concat('main.js')) .p

Gulp学习指南之CSS合并、压缩与MD5命名及路径替换(转载)

本文转载自: Gulp学习指南之CSS合并.压缩与MD5命名及路径替换

gulp之css,js压缩合并加密替换

为了防止客户端的静态资源缓存,我们需要每次更新css或js的时候,通过md5或时间戳等方式重新命名静态资源.让客户端可以重新请求资源,而不是从缓存里取.然后html模板里的src也要做相应的修改.当然,这里还有个附加的需要就是,静态资源需要自行优化(压缩合并). 下面是我gulpfile.js的代码: var gulp = require('gulp'), //基础库 clean = require('gulp-clean'), //清空文件夹 minify = require('gulp-mi

gulp学习指南之CSS合并、压缩与MD5命名及路径替换

1.引入插件 var gulp = require('gulp'), // uglify = require('gulp-uglify'), concat = require('gulp-concat'), minifycss = require('gulp-minify-css'), rev = require('gulp-rev'), revcollector = require('gulp-rev-collector'); 控制台输入 npm install gulp gulp-conca

gulp下静态资源的合并、压缩、MD5后缀

var gulp = require('gulp'); var RevAll = require('gulp-rev-all'); var uglify = require('gulp-uglify'); var filter = require('gulp-filter'); var csso = require('gulp-csso'); var useref = require('gulp-useref'); gulp.task('default', function () { var j

实际项目中,为什么多个css、js文件要实现合并与压缩?(了解了这你才算入门)

Web性能优化最佳实践中最重要的一条是减少HTTP请求.而减少HTTP请求的最主要的方式就是,合并并压缩JavaScript和CSS文件. 关于编写css时,我们应注意通过一些细节来控制css文件的大小,比如:全局样式.继承样式.缩写样式,空格.注释等:同时你也可以通过在线工具对你的css文件进行压缩,来减少css文件的大小,但压缩后的css文件在可维护性.识别性方面变的特别弱.但更复杂的情况是,如果你的页面里面引用了多个css.多个js文件时就可能处理不好. 多个css.多个js文件进行自动合

javascript的压缩合并工具

一.使用RequireJS的压缩合并 使用RequireJS模块化后代码被拆分成多个JS文件了,在部署生产环境需要压缩合并,RequireJS提供了一个打包压缩工具r.js来对模块进行合并压缩.r.js非常强大,不但可以压缩js,css,甚至可以对整个项目进行打包. r.js的压缩工具使用UglifyJS或Closure Compiler.默认使用UglifyJS(jQuery也是使用它压缩).此外r.js需要node.js环境,当然它也可以运行在Java环境中如Rhino.JAVA环境使用An