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 相关文章推荐
用nodejs访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
Nodejs实现多人同时在线移动鼠标的小游戏分享
Dec 06 NodeJs
ubuntu下安装nodejs以及升级的办法
May 08 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
nodejs服务搭建教程 nodejs访问本地站点文件
Apr 07 NodeJs
NodeJs form-data格式传输文件的方法
Dec 13 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 NodeJs
纯异步nodejs文件夹(目录)复制功能
Sep 03 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 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
php array_slice函数的使用以及参数详解
2008/08/30 PHP
php中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP实现微信退款功能
2018/10/02 PHP
Convert Seconds To Hours
2007/06/16 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
简单实现js鼠标跟随效果
2020/08/02 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
详解Python中的正则表达式的用法
2015/04/09 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python数据结构之链表的实例讲解
2017/07/25 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
浅析python标准库中的glob
2020/03/13 Python
纯CSS实现右侧底部悬浮效果(悬浮QQ、微信、微博、邮箱等联系方式)
2015/04/24 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
银行会计职员个人的自我评价
2013/09/29 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
质量月口号
2014/06/20 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
用Python实现屏幕截图详解
2022/01/22 Python
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python