什么是Grunt?
Grunt,简而言之,就是运行在Node.js上面的任务管理器(task runner),其可以在任何语言和项目中自动化指定的任务。我们可通过npm来安装Grunt和Grunt插件。
为什么使用Grunt?
一词概括:自动化
Grunt帮助我们提高重复项目的性能,比如:
- Minification
- Compilation
- Unit testing
- Linting and more
Grunt使用简介
1.命令安装
为了要使用Grunt,需要全局安装Grunt的命令行接口CLI(Command Line Interface)。如果是在Linux、mac上运行,需要用管理员权限运行命令窗口或是使用sudo。
npm install -g grunt-cli
2.grunt依赖
- 一个基本的Nodejs项目,根目录包含package.json文件,如:
{"name": "my-project-name","version": "0.1.0","devDependencies": {"grunt": "~0.4.5","grunt-contrib-jshint": "~0.10.0","grunt-contrib-nodeunit": "~0.4.1","grunt-contrib-uglify": "~0.5.0"}}
- 接下来运行
npm i
- 或者通过以下命令安装
// --save-dev 意思是将依赖放入devDependencies中npm install grunt --save-devnpm install grunt-contrib-jshint --save-devnpm install grunt-contrib-nodeunit --save-devnpm install grunt-contrib-nodeunit --save-dev
3.Gruntfile配置
- 在项目根目录中创建Gruntfile.js,示列如:
module.exports &#61; function(grunt) {// Grunt配置grunt.initConfig({//获取package配置pkg: grunt.file.readJSON(&#39;package.json&#39;),uglify: {options: {// 配置日志输入标识banner: &#39;/*! <%&#61; pkg.name %> <%&#61; grunt.template.today("yyyy-mm-dd") %> */\n&#39;},build: {// 配置源文件目录src: &#39;src/<%&#61; pkg.name %>.js&#39;,// 压缩后目标目录dest: &#39;build/<%&#61; pkg.name %>.min.js&#39;}}});// 加载js压缩插件grunt.loadNpmTasks(&#39;grunt-contrib-uglify&#39;);// 注册默认执行任务grunt.registerTask(&#39;default&#39;, [&#39;uglify&#39;]);};
4.Grunt运行
- 根目录打开命令窗口&#xff0c;运行如下命令
grunt
- 执行后的效果就是讲src目录里的js文件压缩输出到dest目录中
5.监听文件目录
- 很多情况下&#xff0c;我们在编码的时候&#xff0c;希望可以自动将更改部署到目标目录。这时候我们可以使用&#xff1a;
npm i grunt-contrib-watch --save-dev
- 修改Gruntfile.js
module.exports &#61; function(grunt) {// Grunt配置grunt.initConfig({//获取package配置pkg: grunt.file.readJSON(&#39;package.json&#39;),uglify: {options: {// 配置日志输入标识banner: &#39;/*! <%&#61; pkg.name %> <%&#61; grunt.template.today("yyyy-mm-dd") %> */\n&#39;},build: {// 配置源文件目录src: &#39;src/<%&#61; pkg.name %>.js&#39;,// 压缩后目标目录dest: &#39;build/<%&#61; pkg.name %>.min.js&#39;}},//监视watch: {scripts: {//监听目录src下的所有js文件files: [&#39;src/*.js&#39;],//只要文件有变动就执行uglify任务tasks: [&#39;uglify&#39;],options: {spawn: false,},}}});// 加载js压缩插件grunt.loadNpmTasks(&#39;grunt-contrib-uglify&#39;);// 注册默认执行任务grunt.registerTask(&#39;default&#39;, [&#39;uglify&#39;,&#39;watch&#39;]);};
EasyDSS应用场景
现场直播
摄像机或其它设备实时采集到的现场画面&#xff0c;通过编码器或编码软件推送到直播服务器分发&#xff0c;用户即可通过PC、手机、平板电脑等多种终端实时观看现场直播内容。常用于年会、发布会、政企会议等的网络直播。
网络电视
实现传统电视台的网络播出&#xff0c;支持多平台多终端的直播观看及时移回看。
远程监控
配合网络摄像头可实现远程视频监控&#xff0c;终端用户可以通过PC、手机、平板电脑等多种终端实时观看远程画面&#xff0c;并可以把监控画面录制下来随时回看或分享。广泛应用于宝宝在线、家居安全、公共安防等方向。
实时课堂
应用于远程课堂直播&#xff0c;让不在现场的人也能实时学习优质课程。支持时移&#xff0c;可以随时回看任意时间的课程。
科研方向
应用于农业、养殖业、科学实验等跨区域场景研究。
企业展示
对企业的展示、宣传、活动、行政、培训等视频资源进行 高质量转码&#xff0c;发布到互联网&#xff0c;让员工和客户可以通过企业 网站、移动门户等观看。
关于EasyDSS
EasyDSS(http://www.easydss.com)流媒体解决方案采用业界优秀的流媒体框架模式设计&#xff0c;服务运行轻量、高效、稳定、可靠、易维护&#xff0c;支持RTMP直播、RTMP推送、HTTP点播、HTTP-FLV直播、HLS直播&#xff0c;并支持关键帧缓冲&#xff0c;画面秒开等多种特性&#xff0c;能够接入Web、Android、iOS、H5、微信等全平台客户端&#xff0c;是移动互联网时代贴近企业点播/直播需求的一款接地气的流媒体服务器&#xff0c;配套OBS、EasyRTMP等直播推流工具以及EasyPlayer等网络播放器&#xff0c;可以形成一套完整的视频直播、录播解决方案&#xff0c;满足用户在各种行业场景的流媒体业务需求。