nodejs用gulp管理前端文件方法


Posted in NodeJs onJune 24, 2018

1、安装node.js(https://nodejs.org/en/)

安装后使用node -v查看版本

nodejs用gulp管理前端文件方法

node安装完之后会顺带安装npm

ps:npm其实是Node.js的包管理工具(package manager)为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。

同样用npm -v查看版本

nodejs用gulp管理前端文件方法

2、安装gulp插件:npm install -g gulp

nodejs用gulp管理前端文件方法

3、本地创建一个项目文件并用gulp管理

1>在D盘创建要给空文件夹Gulp_Test 。Win+R打开命令窗口并定位到当前项目目录,然后输入指令:npm init 回车(有git的童鞋在文件夹里直接右键 git bash here也可),命令执行期间会提示输入一些关于项目的描述信息,非必填一路回车即可。

nodejs用gulp管理前端文件方法

完成之后文件夹中会生成一个package.json文件。

2>执行以下命令

//本地安装: npm install gulp --save-dev (gulp插件)

//本地安装: npm install gulp-concat --save-dev (合并插件)

//本地安装:npm install gulp-uglify --save-dev (压缩插件)

至此,所有准备工作已就绪,开始管理我们的项目吧。

(1)在项目根目录创建一个名为gulpfile.js的js文件

(2)在根目录新建js文件夹,并在文件夹中新建两个js文件,代码如下:

index.js:

var index={}; 
index={ 
test:function(argument){ 
console.log('test'); 
} 
} 
index.test();

main.js:

var main = {}; 
main.test=function(argument){ 
console.log("main test"); 
} 
main.test();

(3)在根目录创建build文件夹,用来存放打包后的文件

(4)编辑第(1)步创建的gulpfile.js文件,内容如下:

var fs = require('fs');
var gulp = require('gulp');//gulp自身 
var uglify= require('gulp-uglify');//引入压缩组件
var concat = require('gulp-concat');//引入合并组建
gulp.task('taskName', function() { 
// 找到src目录下的所有文件夹中的所有js文件
return gulp.src('js/*.js')
.pipe(uglify())//压缩 
.pipe(concat('all.min.js'))//输入到all.min.js中 
.pipe(gulp.dest('./build'))//指定目录 
.on('end', callback);//结束事件回调
}); 
//检查文件体积
function callback() {
var path = "./build/all.min.js";
var exists = fs.existsSync(path);
if (!exists) {
return;
}
var states = fs.statSync(path);
console.log("file size:" + Math.ceil(states.size / 1024) + "kb");
}

PS:taskName为变量,任务名。可以定义多个task,并根据glup+taskName执行不同的task

(5)执行gulp命令 :gulp taskName

(6)执行成功之后检查build文件是否有all.min.js生成

Don't go too far and forget why starting!

NodeJs 相关文章推荐
windows系统下简单nodejs安装及环境配置
Jan 08 NodeJs
nodejs的require模块(文件模块/核心模块)及路径介绍
Jan 14 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
NodeJS自定义模块写法(详解)
Jun 27 NodeJs
nodejs模块学习之connect解析
Jul 05 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
基于Nodejs的Tcp封包和解包的理解
Sep 19 NodeJs
NodeJS实现同步的方法
Mar 02 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
nodejs+koa2 实现模仿springMVC框架
Oct 21 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 #NodeJs
nodejs实现套接字服务功能详解
Jun 21 #NodeJs
详解Nodejs mongoose
Jun 10 #NodeJs
详解NodeJs开发微信公众号
May 25 #NodeJs
nodejs express配置自签名https服务器的方法
May 22 #NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 #NodeJs
解决nodejs的npm命令无反应的问题
May 17 #NodeJs
You might like
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
python图像常规操作
2017/11/11 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
任意存:BOXFUL
2018/05/21 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
中班下学期个人总结
2015/02/12 职场文书
学习保证书100字
2015/02/26 职场文书
简单的辞职信模板
2015/05/12 职场文书
逃出克隆岛观后感
2015/06/09 职场文书