gulp 插件之 gulp-useref 和 gulp-if

gulp-useref  和 gulp-if 的简介:javascript

            gulp-useref 插件会将多个路径不一样的文件拼接成一个文件,并输出到相应目录(https://www.npmjs.com/package/gulp-useref)。css

            gulp-if 插件会根据条件判断是否成立执行相应的操做(https://github.com/robrich/gulp-if)。
html

1、gulp-useref  和 gulp-if 插件的使用java

一、安装 “gulp-useref  和 gulp-if ”插件命令(在终端进入到项目根目录执行)git

            npm install --save-dev  gulp-load-plugins gulp-useref gulp-if gulp-uglify gulp-clean-cssgithub

二、在项目根目录下提供 "gulp-useref" 插件任务配置须要的 src 目录和源文件(源文件放置到 src 目录下)npm

            mkdir srcgulp

三、在 gulpfile.js 文件中配置使用 "gulp-useref  和 gulp-if "ide

 具体示例:
var gulp = require('gulp'),    
     plugins = require('gulp-load-plugins')();       // 装载插件
     
gulp.task('useref', function () {                             // 自定义 "useref" 任务
   return gulp.src('src/*.html')                              // 模糊匹配 src 目录下全部 html 文件
       .pipe(plugins.useref())                                  // 调用 gulp-useref 插件
       .pipe(plugins.if('*.js', plugins.uglify()))          // 调用 gulp-uglify 插件
       .pipe(plugins.if('*.css', plugins.cleanCss()))   // 调用 gulp-clean-css 插件        
       .pipe(gulp.dest('dist'));                                 // 目标文件存放路径
});

四、修改 src 目录下的 html 源文件ui

 格式:
       <!-- build:<type>(alternate search path) <path> <parameters> -->
       ... HTML Markup, list of script / link tags.
       <!-- endbuild -->
注解:
       type:类型,值能够是 css,js,remove。remove 指定将彻底删除构建块而不生成文件。
       alternate search path:备用搜索路径,可选,替代搜索路径容许更改。
       path:目标文件输出路径。
       parameters:指定添加到标签的额外参数。
具体示例:
<html>
<head>
   <!-- build:css css/combined.css -->
   <link href="css/one.css" rel="stylesheet">
   <link href="css/two.css" rel="stylesheet">
   <!-- endbuild -->
</head>
<body>
   <!-- build:js js/combined.js -->
   <script type="text/javascript" src="js/one.js"></script>
   <script type="text/javascript" src="js/two.js"></script>
   <!-- endbuild -->
</body>
</html>

五、最后在终端运行 "gulp useref" 命令

PS:若是没有错误提示信息,证实就没什么问题了。如今去项目根目录下看是否生成 "dist" 目录和目标文件。未完待续。。。。

六、生成的 html 文件内容以下

 <html><head>    <link rel="stylesheet" href="css/combined.css"/></head><body>    <script src="js/combined.js"></script> </body></html>
相关文章
相关标签/搜索