在终端定位到你要创建目录的地方,输入

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"])

gulp打包js的更多相关文章

  1. 解决webpack和gulp打包js时ES6转译ES5时Object.assign()方法没转译成功的问题

    在webpack或gulp打包的配置文件中package.json 引入"@babel/plugin-transform-object-assign": "^7.2.0& ...

  2. gulp打包js/css时合并成一个文件时的顺序解决

    1.可以使用插进gulp-order. 2.可以这样的写法: return gulp.src(['js/common.js','js/**/*.js']) .pipe(concat('build.js ...

  3. gulp打包js多个文件夹并压缩混淆,编译ES6语法,及多个import依赖由一个入口打包成一个cdn

    感觉和webpack的步骤差不多 首先安装gulp:参考上一篇 安装完之后 新建一个文件目录起名 在当前目录下打开cmd 执行:npm init 创建package.json文件 然后安装第一个插件g ...

  4. gulp实现打包js/css/img/html文件,并对js/css/img文件加上版本号

    参考打包教程: http://www.cnblogs.com/tugenhua0707/p/4069769.html http://www.cnblogs.com/tugenhua0707/p/498 ...

  5. 用gulp打包带参数资源做法与asp.net/java项目结合的自动构建方案探讨

    先探讨方案,后续再实现. gulp打包前端教程配置:http://www.cnblogs.com/EasonJim/p/6209951.html 可能存在以下场景: 1.整个服务端采用接口的形式暴露给 ...

  6. 【原】webpack结合gulp打包

    在我前面的文章中,总结了一下自己学习webpack和gulp的一些东西.然而,在我的实际项目中,单独使用它们两者不能满足项目的需求.我遇到了下面的一些问题. 问题1: 因为我的图片需要放单cdn上面去 ...

  7. gulp 打包合并

    1.安装node.js  下载地址: http://nodejs.cn/ 打开node.js 命令行,输入: node  -v ,有版本号,则正确安装. 2.安装淘宝镜像 :命令行输入 : npm i ...

  8. 使用gulp打包普通项目

    前言: 在使用gulp打包工具之前,我做的H5项目在浏览器中的缓存是很严重的,若改了一点css,加了一句js代码,不手动清除浏览器缓存是看不到效果的.老总也在项目演示当中遇到这些问题,一查找原因却是缓 ...

  9. Rollup处理并打包JS文件项目实例

    关于Rollup rollup是一款用来es6模块打包代码的构建工具(支持css和js打包).当我们使用ES6模块编写应用或者库时,它可以打包成一个单独文件提供浏览器和Node.js来使用. 它的优点 ...

随机推荐

  1. Oracle数据库之单表查询

    接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...

  2. Python Lambda 的简单用法

    下面代码简单举例介绍以下 lambda的用法. from functools import reduce #1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而de ...

  3. jQuery拾忆

    用jQuery操作select元素 http://www.jb51.net/article/23648.htm 表单中如果用disabled属性,则提交时不会提交该数据,尽量使用readonly属性 ...

  4. .net List<T>

    List的几个方法 List=>List.Find()List.FindAll()List.Contains() List.ForEach()List.ConvertAll() 1. 先比较Fi ...

  5. 文字相对于 div 垂直居中

    通用方法 height  跟line-height div{ border: 1px solid black; text-align: left; height: 200px; line-height ...

  6. 阿里 vs. 腾讯,谁的收购更有眼光?

    近年来我们国内企业高速发展,各大集团纷纷收购其他公司发展自己,在这么多的集团收购里面尤其以阿里巴巴和腾讯的收购引人注目.在2014年里阿里巴巴先后投资了中信,美国奢侈品电子商务lstdibs,高德,优 ...

  7. libcurl坑

    code = curl_easy_setopt(conn, CURLOPT_URL, ca.strUrl.c_str()); 要char* 不能string

  8. 搭建linux虚拟机

    一.VMware 9 安装CentOS 7 -> 创建新虚拟机, 选择稍后安装操作系统    -> 选择Linux系统Centos 64位    -> 填写虚拟机名称, 选择虚拟机安 ...

  9. Guideline 2.1 - Information Needed需要补充录制视频

    1.被拒回文 Guideline 2.1 - Information Needed We have started the review of your app, but we are not abl ...

  10. Selenium API(二)

    1.定位一组元素 WebDriver提供了8种定位一组元素的方法. driver.find_elements_by_css_selector() driver.find_elements_by_tag ...