gulp打包js
2024-09-04 14:07:45
在终端定位到你要创建目录的地方,输入
sudo mkdir js
创建文件夹,这个文件夹就是放你要压缩js文件的地方
输入
sudo vim gulpfile.js
这个js就是写gulp所有的配置信息,
在这个js中输入:
var gulp=require ("gulp") //获取gulp var uglify=require ("gulp-uglify") //获取gulp-ublify组建 gulp.task("script", function(){
gulp.src("js/*.js") //找到js文件夹下的所有js
.pipe(uglify()) //压缩文件
.pipe(gulp.dest("dist/js")) //压缩完成后的文件另存到dist/js/目录下
})
gulp.task(name, fn) - 定义任务,第一个参数是任务名,第二个参数是任务内容。
gulp.src(path) - 选择文件,传入参数是文件路径。
gulp.dest(path) - 输出文件
gulp.pipe() - 管道,你可以暂时将 pipe 理解为将操作加入执行队列
此时你还需要安装一个局域的gulp(我没安装各种报错)
在gulplify.js的平级下打开终端,输入
sudo cnpm install gulp //此处不需要 “-g”
然后安装gulp-uglify模板,命令如下:
sudo cnpm install gulp-uglify
输出如果没有扎眼的红色提示则表示安装成功
这时输入
gulp script
如果输出中有Finished "script" after ...即表示压缩成功
这时你去文件夹目录下便能看到一个叫dist的文件夹,这个文件夹下的js文件就是压缩成功后的代码
当然这样如果js下的文件有变化就需要自己重新输入一遍gulp script,不是很人性化
所以加入一条自动检测代码:
gulp.task('auto', function () {
// 监听文件修改,当文件被修改则执行 script 任务
gulp.watch('js/*.js', ['script'])
})
当然watch跑起来就进入运行状态,此时你不能再输入别的操作,当然想要输入别的命令则需要关闭watch即可,命令:
ctrl+C(Mac为Control +C)
当然我们也可以把它定义成默认事件,只需要在终端输入gulp然后回车便可让程序运行,代码如下:
gulp.task('default', ['script', 'auto']);
最终版代码:
var gulp = require ("gulp") var uglify = require("gulp-uglify") gulp.task("script", function(){
gulp.src("js/*.js").pipe(uglify()).pipe(gulp.dest("dist/js"))
})
gulp.task("auto",function(){
gulp.watch("js/*js",["script"])
})
gulp.task("default",["script","auto"])
最新文章
- Java Web应用的开发环境配置
- 《BI那点儿事—数据的艺术》目录索引
- curl命令常见用法汇总 good
- win8.1下解决Visual C++不兼容的方法
- [jobdu]把数组排成最小的数
- Android中View绘制优化二一---- 使用<;include />;标签复用布局文件
- 同时显示多个 Notification
- CentOS 7 网卡命名修改为ethx格式
- php处理登录、添加数据、删除数据和修改数据
- mysq常用l性能分析方法
- JS windows对象的top属性
- SQL 游标的写法
- 写入Log错误日志
- greenplum加密
- 彻底搞懂js原型与原型链
- SQL 分隔字符串
- 配置Windows 2008 R2 防火墙允许远程访问SQL Server 2008 R2
- .gitlab-ci.yml简介
- js 复制文本到剪贴板
- 学习笔记之Sublime Text
热门文章
- 15分XX秒后订单自动关闭(倒计时)
- WinForm中ListBox的使用
- Ecliplse导入maven项目applicationContext.xml报错:Referenced file contains errors (http://www.springframework.org/schema/context/spring-context-3.1.xsd). For more information, right click on the message in
- h2数据库 安装部署
- 上课总结-模电chapter 1
- 为什么要使用MQ消息中间件?
- kali linux之防火墙识别
- 【BZOJ3622】已经没什么好害怕的了 容斥原理+dp
- Docker安装FastDFS
- Python 简单说明与数据结构