`
aiyan2001
  • 浏览: 73952 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

gulp对项目中的CSS JS 使用MD5码

 
阅读更多

1,gulp环境

npm init

//- 生成一个 package.json,里面是一些常规的配置信息

 

npm install gulp gulp-minify-css gulp-rev gulp-rev-collector del gulp-clean gulp-run-sequence gulp-uglify gulp-concat --save-dev

//- 安装插件到项目目录内

 

npm install --global gulp

 

 

 

2,gulpfile.js文件

var gulp = require('gulp');

var concat = require('gulp-concat');                            //- 多个文件合并为一个;

var minifyCss = require('gulp-minify-css');                     //- 压缩CSS为一行;

var rev = require('gulp-rev');                                  //- 对文件名加MD5后缀

var revCollector = require('gulp-rev-collector');               //- 路径替换

 

var del = require('del');  

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

var runSequence = require('gulp-run-sequence');

          

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

del('dist');

});

 

gulp.task('build-clean', function() {

return gulp.src('dist').pipe(clean());

});

 

gulp.task('css', function() {                                //- 创建一个名为 concat 的 task

    gulp.src(['../WebContent/**/*.css'])    //- 需要处理的css文件,放到一个字符串数组里

        .pipe(minifyCss())                                      //- 压缩处理成一行

        .pipe(rev())                                            //- 文件名加MD5后缀

        .pipe(gulp.dest('dist'))                  //- 输出文件本地

        .pipe(rev.manifest({path:'rev-manifest-css.json'}))                                   //- 生成一个rev-manifest.json

        .pipe(gulp.dest('dist'));                              //- 将 rev-manifest.json 保存到 rev 目录内

});

 

 参考http://www.tuicool.com/articles/A7fqUn

var uglify = require('gulp-uglify'); // js压缩

 

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

  return gulp.src('../WebContent/**/*.js') // 指明源文件路径、并进行文件匹配

    .pipe(uglify({ preserveComments:'some' })) // 使用uglify进行压缩,并保留部分注释

.pipe(rev())

    .pipe(gulp.dest('dist')) // 输出路径

.pipe(rev.manifest({path:'rev-manifest-js.json'}))                                   //- 生成一个rev-manifest.json

    .pipe(gulp.dest('dist'));                              //- 将 rev-manifest.json 保存到 rev 目录内

});

gulp.task('rev',['js','css'], function() {

    gulp.src(['dist/rev-manifest-js.json','dist/rev-manifest-css.json', '../WebContent/**/*.html'])   //- 读取 rev-manifest.json 文件以及需要进行css名替换的文件

        .pipe(revCollector())                                   //- 执行文件内css名的替换

        .pipe(gulp.dest('dist'));                     //- 替换后的文件输出的目录

});

 

gulp.task('build', function(cb) {

  runSequence('build-clean','rev');

});

 gulp.task('default', ['build']);

 

 

参考文件http://www.tuicool.com/articles/A7fqUn

分享到:
评论

相关推荐

    gulp打包js,min.js,d.ts

    标题 "gulp打包js,min.js,d.ts" 描述的是使用Gulp工具进行JavaScript项目构建的过程,主要涉及将源代码打包成JS、压缩成min.js以及生成d.ts类型定义文件。Gulp是一个基于Node.js的自动化任务运行器,它可以极大提高...

    前端开源库-gulp-md5

    在这个例子中,`css` 和 `js` 任务会分别处理CSS和JavaScript文件,并将带有MD5哈希值的新文件保存到指定的输出目录。 ### 3. 功能扩展 `gulp-md5` 支持多种配置选项,例如: - `length`:设置MD5哈希值的长度,...

    前端开源库-gulp-jdists

    4. `examples/`:示例代码,展示了如何在项目中使用Gulp JDists。 5. `test/`:测试用例,用于验证插件功能的正确性。 6. `.gitignore`:git版本控制忽略文件,指定了不应被git追踪的文件或目录。 7. `gulpfile.js`...

    gulp-wind-assets-md5:版本化 html 和 css 中的静态文件

    gulp-wind-assets-md5 版本化 html 和 css 中的静态文件安装使用 NPM 安装包: npm install gulp-wind-assets-md5 用法 var windmd5 = require ( 'gulp-wind-assets-md5' ) ;gulp . task ( 'windmd5' , function ( )...

    一个基于Gulp高效可定制的Web前端工作流

    - README.md:项目说明文档,解释如何配置和使用此工作流。 总结来说,这个基于Gulp的工作流提供了前端开发者一套高效且可定制的工具链,涵盖了从编码到部署的各个环节,有助于提升开发效率和项目质量。通过深入...

    前端项目-shoelace-css.zip

    8. **项目构建**:如果项目包含构建文件,可能需要了解Webpack、Gulp或Grunt等构建工具,以及它们在前端项目中的应用。 9. **许可证知识**:理解项目LICENSE文件的意义,知道如何根据许可协议使用开源代码。 10. **...

    前端开源库-through-gulp

    5. `README.md`:项目说明文档,详细解释了如何安装和使用`through-gulp`。 通过学习和使用`through-gulp`,前端开发者能够更加便捷地构建自己的`gulp-plugin`,而无需过多关注底层的流处理细节。这不仅提高了开发...

    BulmaCSS组件开源项目

    - `dist/`:编译后的 CSS 和 JavaScript 文件,可以直接在项目中使用。 - `LICENSE`:项目许可文件,说明使用和分发的条款。 - `README.md`:项目简介和使用指南。 8. **集成与使用**:将 Bulma 添加到项目中,...

    gulp-rev-appendMd5Ver:gulp 插件,为jsp和html文件中到静态资源添加md5版本号

    `gulp-rev-appendMd5Ver`插件的作用是在静态资源(例如CSS、JavaScript、图片等)的URL后面附加一个唯一的MD5哈希值,这个哈希值是根据文件内容计算出来的。当文件内容改变时,哈希值也会随之改变。这样,当更新了...

    gulp-boilerplate (1)-源码.rar

    `gulp-boilerplate (1)-源码.rar` 是一个压缩包,通常包含了使用Gulp.js构建的项目的基础架构。Gulp.js是一个自动化任务管理器,它使得开发者能够自动化执行前端开发过程中的各种任务,如文件编译、压缩、合并、...

    前端开源库-gulp-ng-constant

    **Gulp** 是一个流行的自动化构建工具,它允许开发者通过编写简单的JavaScript任务来自动化复杂的构建流程,如编译、合并、压缩代码,以及处理图片、CSS等资源。Gulp的工作方式是基于流(stream)的,这意味着数据在...

    github-stars:我的 Github Stars 整理

    我的 Github Star 整理整理至 2015.10.23一、前端工程相关项目说明百度出品的前端集成解决方案基于流的构建系统Gulp 插件,给文件名加 MD5 戳Gulp 插件,处理 CSS 文件依赖Gulp Babel 插件,把 ES6 代码转为 ES5包...

    start-gulp:用gulp开始项目

    gulp入门项目 团队 结果 npm i 安装依赖项 gulp 运行构建,服务器和文件跟踪 folder=src/img npm start img:opt 手动图像优化 gulp critical 手动内联关键CSS 开始工作 将此存储git clone ...

    cookiecutter-django-gulp:一个将Gulp集成到Django项目中的Cookiecutter模板

    Cookiecutter 是一个 Python 应用,用于自动生成项目结构,而 Gulp 是一个流行的 JavaScript 执行流程管理工具,常用于自动化前端任务如编译 SASS、压缩 CSS 和 JS、图像优化等。 **描述解析:** 描述简单地重申了...

    前端开源库-htmlonline.gulp

    Gulp 是一个自动化任务管理器,它允许开发者通过编写简单的JavaScript任务来自动化复杂的前端工作流程,例如编译Sass、压缩CSS和JavaScript、合并文件以及处理图像等。`htmlonline.gulp` 很可能是一个扩展或插件,...

    gulp模板:gulp,浏览器同步,sass,eslint,gulp-uglify,gulp-md5-assets PWA工作箱

    html,css,js代码压缩,添加MD5 gulp-autoprefixer浏览器专有连续自动补全 运行 1.编译并生成开发版本 npm run dev或者gulp dev 2.本地运行开发版本,支持实时刷新 npm run run或者gulp run 3.输出生产版本,添加...

    gulp-rename-plus

    gulp重命名加用法首先,安装gulp-rename-plus作为开发依赖项:npm install --save-dev gulp-md5-plus 然后,将其添加到您的gulpfile.js : var rename = require ( "gulp-rename-plus" ) ;gulp . src ( "./src/*.css...

    前端开源库-get-css-urls

    - **构建工具**:在构建流程中,如Webpack或Gulp,可以利用这个库来自动替换CSS中的URL,指向新的CDN地址或添加版本号,确保缓存的正确更新。 - **预处理器扩展**:对于Sass、Less等CSS预处理器,可以扩展其功能,...

    html+css+js网页设计.zip

    例如,使用预处理器Sass或Less可以简化CSS编写,使用Webpack或Gulp进行模块打包和自动化任务。同时,了解最佳实践和优化技巧,如代码压缩、延迟加载和缓存策略,能够提升网页性能。 总的来说,“html+css+js网页...

    前端开源库-gulp-token-replace

    1. `README.md`:项目的说明文档,详细介绍了如何安装、配置和使用gulp-token-replace。 2. `src/`:源代码目录,存放插件的核心实现。 3. `test/`:测试目录,包含了对插件功能的测试用例,确保其正常工作。 4. `...

Global site tag (gtag.js) - Google Analytics