Nodejs和前端自动化

Posted zjffun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs和前端自动化相关的知识,希望对你有一定的参考价值。

安装Node.js

直接下载,安装

npm

  1. 安装
    较新版本Node自带,基本不用自己装
  2. 初始化
    npm init之后一路next
  3. 安装依赖
  • npm install --production安装package.json里已经声明了依赖(只安装dependencies)
  • npm install安装package.json里已经声明了依赖(包括:devDependencies和dependencies)

gulp

  1. 全局安装gulp(‘-g‘:全局安装)
    npm install gulp -g
  2. 下载要用到的插件(‘-g‘:全局安装)
    npm install gulp-minify-css gulp-jshint gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-livereload gulp-rename -g
  3. 添加一个gulp的依赖
    npm install gulp --save-dev
    项目依赖分两种,一个就是普通的项目依赖比如bootstrap(--save),还用一种只是开发阶段需要用的,这种属于开发依赖比如gulp,开发依赖最终记录在devDependencies节点里面(--save-dev)
    压缩css(gulp-minify-css)
    js代码校验(gulp-jshint)
    合并js文件(gulp-concat)
    压缩js代码(gulp-uglify)
    压缩图片(gulp-imagemin)
    文件重命名 (gulp-rename)
    自动刷新页面(gulp-livereload)
    更改提醒(gulp-notify)
    合并js顺序(gulp-order)
  4. 构建gulpfile.js
    在项目的根目录,新建一个gulpfile.js的文件,这个是gulp的主执行文件,且文件名是固定的,不能修改,gulp命令执行的时候,会去找这个文件。
  5. 执行gulp
    gulp输入gulp即可

gulpfile.js:

//引入插件
var gulp = require(‘gulp‘),
   // minifycss = require(‘gulp-minify-css‘),
   uglify = require(‘gulp-uglify‘), //压缩js代码
   rename = require(‘gulp-rename‘), //文件重命名
   concat = require(‘gulp-concat‘), //合并js文件
   notify = require(‘gulp-notify‘), //更改提醒
   livereload = require(‘gulp-livereload‘); //自动刷新页面

//js代码校验、合并和压缩(类似jquery的链式操作)
gulp.task(‘scripts‘, function() {
   return gulp.src(‘src/**/*.js‘) //源文件
       .pipe(concat(‘empty_dimension.js‘))  //合并js文件,empty_dimension.js为合并的文件名称
       .pipe(gulp.dest(‘dist‘))  //合并后文件存放位置
       .pipe(rename({
           suffix: ‘.min‘
       }))
       .pipe(uglify())         //执行压缩任务
       .pipe(gulp.dest(‘dist‘))  //压缩后文件存放位置
       .pipe(notify({    //操作结束后提示
           message: ‘Scripts task complete‘
       }));
});
// 默认任务,这里完全可以是多个任务,比如压缩CSS,压缩图片,压缩js等
gulp.task(‘default‘,[‘watch‘], function() {
   gulp.start(‘scripts‘);
});
// 监听
gulp.task(‘watch‘, function() {
   // 监听 .js文件改动,一旦改动就会自动压缩合并
   gulp.watch(‘src/**/*.js‘, [‘scripts‘]);
   // Create LiveReload server(用来自动刷新浏览器)
   livereload.listen();
   // Watch any files in dist/, reload on change
   gulp.watch([‘dist/**‘]).on(‘change‘, livereload.changed);
});



















以上是关于Nodejs和前端自动化的主要内容,如果未能解决你的问题,请参考以下文章

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

Nodejs和前端自动化

分享前端开发常用代码片段

grunt整合版30分钟学会使用grunt打包前端代码

使用nodeJS实现前端项目自动化之项目构建和文件合并

grunt整合版30分钟学会使用grunt打包前端代码