gulp只是提供一个框架给我们,如果我们想要实现一些更加复杂的功能.
比如css压缩,那么我们还需要安装一下gulp-cssnano插件.
gulp相关的插件安装也是通过npm命令安装,安装方式跟其他包是一模一样的(gulp插件本身就是一个普通的包)
对css文件的处理,需要做的事情就是压缩,然后在将压缩后的文件放到指定的目录下(不要和原来CSS文件重合)!
这里我们使用gulp-cssnano来处理这个工作.
# 安装第三方包 npm install gulp-cssnano --save -dev npm install gulp-rename --save-dev
然后在gulpfile.js中写入以下代码:
var gulp = require('gulp') // 需要先安装gulp-cssnano var cssnano = require('gulp-cssnano') // 定义一个处理css文件改动的任务 gulp task('css',function(){ gulp.src('./css/*.css') .pipe(cssnano()) .pipe(rename({'suffix':'.min'})) .pipe(gulp.dest("./dist/css/")) });
在上述代码中,我们增加了一行 .pipe(rename({'suffix':'.min'})),这个我们就是使用rename方法,并且传递一个对象参数,指定修改名字的规则为添加一个.min后缀名.
这个gulp-rename还有其他的指定文件名的方式,比如可以在文件名前加个前缀等.
自动添加css样式前缀
一些css的样式,不同的浏览器处理的时候是不一样的.
比如box-shadow,是用来指定元素阴影的.
但是一些老版本的浏览器,需要加相应的前缀.
比如:
// Firefox4.0- -moz-box-shadow: 10px 10px 5px #888888; // Safari and Google chrome10.0- -webkit-box-shadow: 10px 10px 5px #888888; // Firefox4.0+ , Google chrome10.0+ , Oprea10.5+ and IE9 box-shadow: 10px 10px 5px #888888;
其他相关的命令:
var rename = require("gulp-rename"); // rename via string gulp.src("./src/main/text/hello.txt") .pipe(rename("main/text/ciao/goodbye.md")) .pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/goodbye.md // rename via function gulp.src("./src/**/hello.txt") .pipe(rename(function (path) { path.dirname += "/ciao"; path.basename += "-goodbye"; path.extname = ".md"; })) .pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md // rename via hash gulp.src("./src/main/text/hello.txt", { base: process.cwd() }) .pipe(rename({ dirname: "main/text/ciao", basename: "aloha", prefix: "bonjour-", suffix: "-hola", extname: ".md" })) .pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/bonjour-aloha-hola.md
更多教程可以看这个:https://www.npmjs.com/package/gulp-rename
通过node来执行一个js文件步骤: 1.DOS窗口切换到js文件所在的文件夹 2.执行命令:node file_name.js C:\Users\Administrator\Desktop\npmDemo\js>node index.js HelloWorld!