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命令行参数处理模块commander使用实例
Sep 17 NodeJs
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
Nodejs抓取html页面内容(推荐)
Aug 11 NodeJs
nodejs基础知识
Feb 03 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
nodejs 搭建简易服务器的图文教程(推荐)
Jul 18 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
一文秒懂nodejs中的异步编程
Jan 28 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连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
为数据添加append,remove功能
2006/10/03 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
python 字典(dict)按键和值排序
2016/06/28 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
英国最出名高街品牌:Forever Unique
2018/02/24 全球购物
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
超级英雄、电影和电视、乐队和音乐T恤:Loud Clothing
2019/09/01 全球购物
商场拾金不昧表扬信
2014/01/13 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
家长寄语大全
2014/04/02 职场文书
公司活动总结怎么写
2014/06/25 职场文书
旷课检讨书500字
2014/10/14 职场文书
化验员岗位职责
2015/02/14 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
Python何绘制带有背景色块的折线图
2022/04/23 Python