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的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs实现黑名单中间件设计
Jun 17 NodeJs
轻松创建nodejs服务器(3):代码模块化
Dec 18 NodeJs
NodeJS中利用Promise来封装异步函数
Feb 25 NodeJs
nodejs通过phantomjs实现下载网页
May 04 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 NodeJs
NodeJs 实现简单WebSocket即时通讯的示例代码
Aug 05 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
nodejs使用socket5进行代理请求的实现
Feb 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
php处理json时中文问题的解决方法
2011/04/12 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
vue如何截取字符串
2019/05/06 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
浅析python的Lambda表达式
2019/02/27 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
建筑个人求职信范文
2014/01/25 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
求职简历自我评价范文
2015/03/10 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
iPhone13将有八大升级
2021/04/15 数码科技