博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再探 butterfly.js - grunt.js篇(一)
阅读量:5839 次
发布时间:2019-06-18

本文共 2459 字,大约阅读时间需要 8 分钟。

hot3.png

##再探 butterfly.js - grunt.js篇(一)

####神器 grunt.js

久仰grunt.js的大名,学习grunt.js一直是我todo List的第一位。趁着新春佳节来临之际(打酱油的日子),就来填了这个坑,完了这个心愿。 grunt.js的强大,强大在于它拥有很多用途丰富的插件,和不同插件之间的联动实现更牛逼的功能。 这里默认大家已经安装了npm和会用npm install等指令,就不详细讲了。下面讲用到grunt-contrib-watchgrunt-contrib-connect实现改动代码自动刷新浏览器,而不用手动按F5或者ctrl+R来刷新浏览器。也会将这个酷炫的测试功能应用于butterfly.js的应用开发之中。

grunt-contrib-watch

,这个插件超级强大,基本上,我见到用grunt.js的应用开发,没有那个不用到grunt-contrib-watch。其功能就是:监测指定文件的改动包括:html、css、js,当指定的文件有改动(保存后),就会触发task

grunt-contrib-connect

,文档上面,它给自己的定义就是一个connect web server,所以,这是一个可以创建服务器的插件。

正片

创建我们的工程目录:

myproject  ┣app    ┣butterfly    ┗main      ┣theme.css      ┣index.html      ┗index.js  ┣package.json  ┗Gruntfile.js

package.json可以用npm init来创建,或者自己创建文件。这个属于npm基础,不了解的自己面壁。在命令行执行以下代码:

npm install grunt --save-devnpm install grunt-contrib-connect --save-devnpm install grunt-contrib-watch --save-dev

上面的--save-dev是两根--的,不知道为什么被吞了一根,这三行代码,分别安装了gruntgrunt-contrib-connectgrunt-contrib-watch。 编辑Gruntfile.js,这个文件是Grunt.js的核心,所有Grunt.js执行的任务都在这里控制,Grunt.js的原始状态应该是这样的:

module.exports = function(grunt){	pkg: grunt.file.readJSON('package.json'),	grunt.initConfig({		//...	});}

先设置connect模块:

connect: {	options: {		port: 9000,		hostname: 'localhost',		livereload: 35729	},	server: {		options: {			open: {target:'http://localhost:9000/main/index.html'},			base: ['app']		}	}}

再设置watch模块:

watch: {	livereload: {		options: {			livereload: true		},		files: ['app/main/index.html','app/main/theme.css', 'app/main/index.js']	}}

最后设置task

module.exports = function(grunt){	pkg: grunt.file.readJSON('package.json'),	grunt.initConfig({		connect: {			options: {				port: 9000,				hostname: 'localhost',				livereload: 35729			},			server: {				options: {					open: {target:'http://localhost:9000/main/index.html'},					base: ['app']				}			}		},		watch: {			livereload: {				options: {					livereload: true				},				files: ['app/main/index.html','app/main/theme.css', 'app/main/index.js'] //监测文件列表			}		}	});	grunt.loadNpmTasks('grunt-contrib-connect');	grunt.loadNpmTasks('grunt-contrib-watch');	grunt.registerTask('default', ['connect:server', 'watch'])}

编辑完成后,在命令行输入gruntgrunt.js通过grunt-contrib-connect创建一个服务器,localhost:9000(域名和端口在options设置),执行命令后,你会发现浏览器自动打开了http://localhost:9000/main/index.html。如果没有报错,就算是大功告成了。这时候你可以改动一下index.htmltheme.css或者是index.jsvery good。我们解放了F5这个按钮了。

其实,这个只是grunt.js的一个小功能,grunt.js强大得很,这里先挖个坑,后续会和大家分享grunt.js的其他模块和更加详细的Gruntfile.js的配置

转载于:https://my.oschina.net/u/2287563/blog/378517

你可能感兴趣的文章
“长安蔚来”落户南京:李斌任董事长 杨放任CEO
查看>>
蒙古族传统圣火祭祀点燃新年祈福之旅
查看>>
在湘留学生舞龙欢度中国农历小年:中国是第二个家
查看>>
新疆、内蒙、青海三省区骆驼齐聚柴达木上演“激情与速度”
查看>>
“咫尺之境——成都武侯祠馆藏扇面精品展”在成都开展
查看>>
python面试几大重点,BAT公司都很重视!
查看>>
第二届亚太应用经济学会博硕士论文研讨会长沙落幕
查看>>
中信也做云——传统行业的数字化转型是这么玩的
查看>>
刘强东“不给快递员发社会保险和福利的公司都是毒瘤”
查看>>
阿里巴巴达摩院又一技术大牛获选ACM杰出科学家
查看>>
RocketMQ源码解析:Message拉取&消费(下)
查看>>
【重磅】Spring Boot 2.1.0 权威发布
查看>>
Microsoft 面试题 | 我能赢
查看>>
saiku+kettle整合(十六)合计
查看>>
vue-cli 3.0 下发布一个 TypeScript 组件
查看>>
从赋值看基本类型和引用类型的区别
查看>>
使用js开发数据库
查看>>
数据结构和算法javascript描述-字典(第7章)
查看>>
推荐一些造福独立开发者的第三方技术
查看>>
翻译连载 | 第 11 章:融会贯通 -《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇...
查看>>