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 相关文章推荐
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 NodeJs
NodeJS实现客户端js加密
Jan 09 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
nodejs接入阿里大鱼短信验证码的方法
Jul 10 NodeJs
浅谈nodejs中的类定义和继承的套路
Jul 26 NodeJs
Nodejs调用WebService的示例代码
Sep 29 NodeJs
nodejs实现OAuth2.0授权服务认证
Dec 27 NodeJs
对mac下nodejs 更新到最新版本的最新方法(推荐)
May 17 NodeJs
PHPStorm中如何对nodejs项目进行单元测试详解
Feb 28 NodeJs
nodejs微信开发之接入指南
Mar 17 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 数组基本操作小结(推荐)
2016/06/13 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
Python正则表达式知识汇总
2017/09/22 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
给民警的表扬信
2014/01/08 职场文书
测试工程师职业规划书
2014/02/06 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
毕业赠语大全
2015/06/23 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书