npm使用过程

-npm
+ node package manager (node的包管理工具)
+ npm install xxx 安装一个包到项目本地
+安装完成后项目根目录下会多一个node_modules文件夹,所有的下载

下来的包全部在里面
+ 由于需要记录项目依赖哪些东西,所以需要一个配置文件,

package.json,通过npm init命令生成。
+ 以后安装包的时候将其–save
+ –save就是将我们安扎un个的包名字和包版本记录到配置文件中的

dependencies节点中
+ –save-dev
+ 项目依赖分两种,一个就是普通的项目依赖比如bootstrap,还有一

中只是开发阶段需要用的,这种属于开发依赖比如gulp,开发依赖最终

记录在devDependencies节点里面
+ npm install xxx -g (全局安装包)

+如果你安装的是一个工具,工具要在每一个地方都能用

1.命令行创建npm的配置文件
npm init
2.添加一个gulp的依赖
npm install gulp –save-dev
3.在项目根目录下添加一个gulpfile.js文件,这个是gulp的主文件,

这个文件名是固定的。
4.在gulpfile中抽象我们需要做的任务
gulpfile.js
/**
1.less编译 压缩 合并
2.js合并 压缩 混淆
3.img复制
4.html压缩
*/

package.json

{
  "name": "10-gulp-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-concat": "^2.6.1",
    "gulp-cssnano": "^2.1.2",
    "gulp-htmlmin": "^3.0.0",
    "gulp-less": "^3.3.0",
    "gulp-uglify": "^2.0.1"
  }
}

gulpfile.js

'use strict';
/**
*1.less编译 压缩 合并
*2.js合并 压缩 混淆
*3.img复制
*4.html压缩
*/
//在gulpfile中先载入gulp包,因为这个包提供了一些api
var gulp = require('gulp');
var less = require('gulp-less');
var cssnano = require('gulp-cssnano');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
//1.less
gulp.task('style',function(){
    //这里是在执行style任务时自动执行的
    gulp.src('src/styles/*.less')
    .pipe(less())
    .pipe(cssnano())
    .pipe(gulp.dest('dist/styles'))
    .pipe(browserSync.reload({
        stream:true
    }));
});

//2.js
gulp.task('script',function(){
    gulp.src('src/scripts/*.js')
    .pipe(concat('all.js'))
    .pipe(uglify())
    .pipe(gulp.dest('dist/scripts'))
    .pipe(browserSync.reload({
        stream:true
    }));
});


//3.img复制
gulp.task('image',function(){
    gulp.src('src/images/*.*')
    .pipe(gulp.dest('dist/images'))
    .pipe(browserSync.reload({
        stream:true
    }));
});

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

//4.html复制
gulp.task('html',function(){
    gulp.src('src/*.html')
    .pipe(htmlmin(
        {
            collapseWhitespace:true,
            removeComments:true 
        }))
    .pipe(gulp.dest('dist'))
    .pipe(browserSync.reload({
        stream:true
    }));
});



var browserSync = require('browser-sync');

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

    browserSync({
        server:{
            baseDir:['dist']
            }
    },function(err,bs){
        console.log(bs.options.getIn(["urls","local"]));
    });

    gulp.watch('src/styles/*.less',['style']);
    gulp.watch('src/scripts/*.js',['script']);
    gulp.watch('src/images/*.*',['image']);
    gulp.watch('src/*.html',['html']);

});

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值