gulp两种配置方式总结_gulp 两个版本怎么切换

n

n

e

c

t

.

s

e

r

v

e

r

(

r

o

o

t

:

[

a

p

p

.

d

e

v

P

a

t

h

]

,

l

i

v

e

r

e

l

o

a

d

:

t

r

u

e

,

/

/

p

o

r

t

:

1234

)

/

/

o

p

e

n

(

h

t

t

p

:

/

/

l

o

c

a

l

h

o

s

t

:

123

4

)

/

/

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

s

c

r

i

p

t

/

/

.

j

s

,

[

j

s

]

)

/

/

J

S

j

s

/

/

l

i

b

g

u

l

p

.

w

a

t

c

h

(

b

o

w

e

r

c

o

m

p

o

n

e

n

t

s

/

/

,

[

l

i

b

]

)

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

/

.

h

t

m

l

,

[

h

t

m

l

]

)

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

d

a

t

a

/

/

.

j

s

o

n

,

[

j

s

o

n

]

)

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

s

t

y

l

e

s

/

/

.

l

e

s

s

,

[

l

e

s

s

]

)

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

s

c

r

i

p

t

s

/

/

.

j

s

,

[

j

s

]

)

g

u

l

p

.

w

a

t

c

h

(

a

p

p

.

s

r

c

P

a

t

h

i

m

a

g

e

/

/

,

[

i

m

a

g

e

]

)

/

/

"

"

.connect.server({ root:[app.devPath], livereload:true,//自动加载 port:1234 }) //自动打开浏览器 open('http://localhost:1234') //实现自动编译;我们希望的是,每更改一段代码,它自动编译,并自动刷新浏览器来查看 gulp.watch(app.srcPath+'script/**/*.js',['js']) //监控JS文件,并执行js任务; //lib一般不变更,所以不用对他进行监控,如果要监控,监控静态资源源文件的书写如下 gulp.watch('bower_components/**/*',['lib']) gulp.watch(app.srcPath+'**/*.html',['html']) gulp.watch(app.srcPath+'data/**/*.json',['json']) gulp.watch(app.srcPath+'styles/**/*.less',['less']) gulp.watch(app.srcPath+'scripts/**/*.js',['js']) gulp.watch(app.srcPath+'image/**/*',['image']) //如果想实现"实时预览",还需要添加

.connect.server(root:[app.devPath],livereload:true,//自动加载port:1234)//自动打开浏览器open(′http://localhost:1234′)//实现自动编译;我们希望的是,每更改一段代码,它自动编译,并自动刷新浏览器来查看gulp.watch(app.srcPath+′script/∗∗/∗.js′,[′js′])//监控JS文件,并执行js任务;//lib一般不变更,所以不用对他进行监控,如果要监控,监控静态资源源文件的书写如下gulp.watch(′bowerc​omponents/∗∗/∗′,[′lib′])gulp.watch(app.srcPath+′∗∗/∗.html′,[′html′])gulp.watch(app.srcPath+′data/∗∗/∗.json′,[′json′])gulp.watch(app.srcPath+′styles/∗∗/∗.less′,[′less′])gulp.watch(app.srcPath+′scripts/∗∗/∗.js′,[′js′])gulp.watch(app.srcPath+′image/∗∗/∗′,[′image′])//如果想实现"实时预览",还需要添加.connect.reload()函数,在每个任务下面
})
//问题:每次都要手动执行任务,好麻烦,所以可以设置默认任务;以后直接调用gulp即可;
gulp.task(‘default’,[‘serve’])
也可以使用如下插件进行简单配置:
gulp-rev; //给每个文件添加版本号,根据文件的内容算出每个文件的哈希码
使用: .pipe(rev())
gulp-rev-replace //更新index中的文件引用(因为文件被添加了不同的hash)
gulp-useref //在html中通过注释的方法,写一些设置;用来合并JS和css的;
gulp-filter //他是一个过滤器,filter可以筛选出一些文件做一些处理;然后再放入,restore就是扔回去
var jsFilter=filter(’/.js’,{restore:true})
var cssFilter=filter(’**/
.css’,{restore:true})
var indexHtmlFilter=filter([’
/*’,’!/index.html’],{restore:true})
.pipe(jsFilter.restore)
.pipe(cssFilter.restore)
.pipe(indexHtmlFilter.restore)
gulp-uglify
gulp-csso
使用和配置如上插件
gulp.task(‘default’,function(){
var jsFilter=filter(’
/*.js’,{restore:true})
var cssFilter=filter(’**/.css’,{restore:true})
var indexHtmlFilter=filter([’**/
’,’!**/index.html’],{restore:true}) //注意:首页不加版本号;
return gulp.src(‘src/index.html’)
.pipe(useref()) //在html中通过注释的方法,写一些设置;用来合并JS和css的;
.pipe(jsFilter) //筛选出需要处理的JS文件
.pipe(uglify()) //把这些文件压缩处理
.pipe(jsFilter.restore) //把文件扔回去
.pipe(cssFilter)
.pipe(csso())
.pipe(cssFilter.restore)
.pipe(indexHtmlFilter)
.pipe(rev()) //排除首页后,对其他html文件加入hash;
.pipe(indexHtmlFilter.restore)
.pipe(revReplace()) //把index中的引用进行更新
.pipe(gulp.dest(‘dist’))//最后把文件流扔到最终目录;
})
注意:
1:/!xxx/(含*!)这类型的注释不会被压缩;
2:不去删除老的版本,担心用户正在观看还没更新,就无法访问了;
其他有用的插件
gulp-postcss给css加前缀
gulp-responsive 把大图生成一系列响应式图片

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

  • 函数的定义

  • 局部变量和全局变量

  • 返回值

  • 匿名函数

  • 自运行函数

  • 闭包

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
webpack和gulp两种前端构建工具,它们在实现自动化构建部署的过程中有一些区别。 首先,webpack是一个静态模块打包工具,主要用于处理JavaScript应用程序的模块化打包。它通过loader和plugin来处理转换所有所需的资源,包括图片、JavaScript文件、CSS文件等。webpack可以将这些资源转化成模块,使其能够被应用程序所使用。 而gulp则是一个自动化构建工具,更注重规范前端开发流程。它通过插件来支持模块化。相较于webpack,gulp更加灵活,可以通过不同的插件实现不同的功能。 在配置方面,webpack和gulp也有一些区别。webpack主要通过配置文件来定义打包的入口、输出、加载器、插件等,以及一些特定的配置选项。而gulp则通过编写JavaScript代码来定义构建任务,每个任务可以包含一系列的操作步骤。 总之,webpack和gulp都是前端构建工具,但它们在功能和使用方式上有一些区别。webpack侧重于模块化打包,而gulp注重自动化构建流程的规范化。具体使用可以根据项目需求和个人偏好选择适合的工具。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [一杯茶的时间,带你区分gulp和webpack](https://blog.csdn.net/vergil_/article/details/120481498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [详解webpack+gulp实现自动构建部署](https://download.csdn.net/download/weixin_38610682/13662511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值