npm和gulp学习
npm的使用
node
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,是一种JavaScript语言运行平台,和浏览器这个运行平台是同一个概念。
npm
- npm平台包管理工具(Node Package Manager):通过一套命令统一管理常用的类库。平时用npm下载jquery、bootstrap、angular等插件、库或框架。
npm的安装
安装完成后,shift+鼠标右键,选择在此窗口打开命令行,验证版本看是否安装OK。
node -v
npm -v
初始化
在相应文件夹内shift+鼠标右键,选择在此处打开命令窗口
npm init

一直Enter键,最后会生成package.json文件
下载包
npm属于国外网站,下载速度可能比较慢,加上淘宝镜像速度会快些
淘宝镜像:--registry=https://registry.npm.taobao.org
npm install jquery //当前目录下安装
npm install jquery --save //下载之后会在package.json中生成当前下载的包的版本信息
npm install jquery -g //全局安装
npm install jquery@version //在当前目录安装指定版本的包
npm uninstall jquery //删除当前目录下的包
一般使用第二行代码下载,因为下载之后会在package.json中生成当前下载的包的版本信息,若是得到的是带版本信息的package.json,只用执行npm install就会把所有的包下载。

gulp的使用
官网
Gulp 中文网:http://www.gulpjs.com.cn
Gulp 插件下载:https://www.npmjs.com/
gulp是什么
- gulp是前端开发过程中对代码进行自动化构建的工具。它不仅能对资源进行优化,而且在开发过程中能够通过配置自动完成很多重复的任务,让我们可以专注于代码,提高工作效率
gulp的使用
5个核心方法
- gulp.task('任务名',function(){}) // 创建任务。
- gulp.src('./*.css') 指定想要处理的文件。
- gulp.dest() // 指定最终处理后的文件的存放路径。
- gulp.watch() // 自动的监视文件的变化,然后执行相应任务。
- gulp.run('任务名'),直接执行相应的任务。
基本使用
1. 全局安装gulp
npm install --global gulp //全局安装 默认安装路径C:\Users\Administrator\AppData\Roaming\npm\node_modules
2. 局部安装gulp以及相关依赖(devDependencies)
npm install --save-dev gulp
3. 根目录新建一个gulpfile.js,在内部引入gulp
var gulp = require('gulp')
4. 创建任务
gulp.task('taskName',function(){
console.log(‘runing task’);
})
5. 在命令行中执行任务
gulp.task('test',function(){
console.log(‘runing task’);
})
gulp test //若任务名是default 则只用执行gulp
使用gulp-concat合并js文件
安装合并代码插件
gulp-concatnpm install gulp-concat
引用
gulp-concatvar concat = require( 'gulp-concat' );
书写合并代码
gulp.task( 'cat', function () { // gulp.src( './js/*.js' ) // 合并js文件夹下的所有js文件 // 按顺序合并指定js文件
gulp.src( [ './js/Itcast.core.js',
'./js/Itcast.ctor.js',
'./js/Itcast.dom.js',
'./js/Itcast.event.js',
'./js/Itcast.style.js',
'./js/Itcast.attr.js' ] )
// 使用 gulp-concat 合并
.pipe( concat( 'bundle.js' ) )
// 最后将处理好的文件保存在 dist 文件夹下
.pipe( gulp.dest( './dist' ) );
} );
使用gulp-uglify压缩js代码
安装
gulp-uglifynpm install gulp-uglify
引用
gulp-uglifyvar press = require( 'gulp-uglify' );
书写压缩代码
gulp.task( 'press', function () {
// 指定需要被压缩的文件
gulp.src( './dist/*.js' )
// 使用press方法压缩
.pipe( press() )
// 输出到指定目录
.pipe( gulp.dest( './output' ) );
} );
对css进行合并压缩操作
npm install gulp-cssnano --save
// 新建一个任务,对css进行处理
ulp.task('style', function(){
// 对项目中的2个css文件进行合并,压缩操作
// 1.匹配到要处理的文件
ulp.src(['./*.css'])
// 2.合并文件
pipe(concat('index.css'))
// 3.压缩操作
pipe(cssnano())
// 4.输出到指定目录
pipe(gulp.dest('./dist'))
})
对html进行合并压缩
npm install gulp-htmlmin --save
// 新建一个任务,对html进行压缩
gulp.task('html', function(){
// 1.匹配到要处理的文件
gulp.src(['./index.html'])
// 2.压缩操作
.pipe(htmlmin({collapseWhitespace:true}))
// 3.指定输出目录
.pipe(gulp.dest('./dist'))
})
gulp.watch
监视文件的变化,然后执行相应的任务
gulp.run, 直接执行指定的任务
// gulp.watch 监视文件变化,执行相应任务
gulp.task('mywatch', function(){
// 执行指定的任务
gulp.run('script')
// 1.监视js文件的变化,然后执行script任务
// 第一个参数:要监视的文件的规则
// 第二个参数:是要执行的任务
gulp.watch(['./app.js','sign.js'],['script'])
})
执行多个任务
var gulp = require( 'gulp' );
var concat = require( 'gulp-concat' );
var press = require( 'gulp-uglify' );
gulp.task( 'concat', function () {
gulp.src( [ './js/Itcast.core.js',
'./js/Itcast.ctor.js',
'./js/Itcast.dom.js',
'./js/Itcast.event.js',
'./js/Itcast.style.js',
'./js/Itcast.attr.js' ] )
.pipe( concat( 'Itcast.js' ) )
.pipe( gulp.dest( './dist' ) );
} );
gulp.task( 'concatPress', function () {
return gulp.src( [ './js/Itcast.core.js',
'./js/Itcast.ctor.js',
'./js/Itcast.dom.js',
'./js/Itcast.event.js',
'./js/Itcast.style.js',
'./js/Itcast.attr.js' ] )
.pipe( concat( 'Itcast.min.js' ) )
.pipe( gulp.dest( './dist' ) );
} );
gulp.task( 'default', [ 'concat', 'concatPress' ], function () {
gulp.src( './dist/Itcast.min.js' )
.pipe( press() )
.pipe( gulp.dest( './dist' ) );
} );
npm和gulp学习的更多相关文章
- npm和gulp学习笔记
原文链接:[gulpfile.js文件常见配置]
- gulp学习笔记4
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...
- gulp学习笔记1
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...
- gulp学习笔记2
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...
- gulp学习笔记3
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...
- Gulp 学习总结
Gulp 自动化工具开发非常方便,便于上手,值得使用. 一.Gulp安装 gulp是基于NodeJS运行的,所以需要想安装NodeJS. http://nodejs.org/download/ 安装 ...
- gulp 学习笔记
以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录 npm 查看模块 安装模块 ...
- 前端自动化构建工具 gulp 学习笔记 一、
一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...
- gulp学习-metamask前端使用
https://www.gulpjs.com.cn/docs/getting-started/ ,这个是3.9.0版本 后面发现安装的版本是4.0.0,看下面这个: https://github.co ...
随机推荐
- codeforce1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) 题解
秉承ACM团队合作的思想懒,这篇blog只有部分题解,剩余的请前往星感大神Star_Feel的blog食用(表示男神汉克斯更懒不屑于写我们分别代写了下...) C. Cloud Computing 扫 ...
- Bing Maps进阶系列四:路由功能服务(RouteService)
Bing Maps进阶系列四:路由功能服务(RouteService) Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现 ...
- WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)
websocket是HTML5中的比较有特色一块,它使得以往在客户端软件中常用的socket在web程序中也能轻松的使用,较大的提高了效率.废话不多说,直接进入题. 网页聊天室包括2个部分,后端服务器 ...
- 常见的几种异常类型Exception
转自:https://blog.csdn.net/niceworkgogogo/article/details/71746208 算数异常类:ArithmeticExecption 空指针异常类型:N ...
- 03、HelleBaiduMap
D:\百度地图\百度地图\资料\百度地图与定位SDK\百度地图v3.5.0\BaiduMap_AndroidSDK_v3.5.0_All\BaiduMap_AndroidSDK_v3.5.0_Docs ...
- html5中不再支持的元素
html5中不再支持的元素:1.acronym(建议abbr) : 定义首字母缩写2.applet(建议object): 定义 applet3.basefont(使用css控制)4.big(使用css ...
- poj1988Cute Stacking
题目大意:有几个stack,初始里面有一个cube.支持两种操作:1.move x y: 将x所在的stack移动到y所在stack的顶部.2.count x:数在x所在stack中,在x之下的cub ...
- 解决macOS升级之后每次使用ssh都要输入密码的问题
最近想趁着假期把跟了我2年mac的系统重做下.于是就开始行动了,经过大半天的数据备份.然后进行了全盘格式化,使用了在线更新的方式从新安装升级到了10.12.6.这里提醒下有类似的想法的同学可以采用 ...
- python值函数名的使用以及闭包,迭代器
一.函数名的运用 函数名就是一个变量名,但它是一个特殊的变量名,是一个后面加括号可以执行函数的变量名. def func(): print("我是一个小小的函数") a = fun ...
- ACM_新七步诗(深搜)
新七步诗 Time Limit: 2000/1000ms (Java/Others) Problem Description: 突然的一天,小锴做了一个梦,梦见自己来到了三国,而自己也成了梦寐以求的帅 ...