的项目,摄像头设置页面要求整个站点大小只能在100k,也就是frameworks比如vue,jquery库等。最好不要用,我们会用js的原生语言写,而且每次写完都要把整个站点压缩混淆再上传。考虑到浏览器文件缓存,最好在文件名中携带哈希版本号。哪一个更适合包装这件作品?使用在线网站压缩?每次都要把那么多文件的代码一个一个粘贴,然后再把结果复制回去。需求一变,又要重新来过,太麻烦了。使用网络包?webpack确实是当下最火的打包工具,但是在传统的多页面中使用webpack配置并不是很合适。它擅长模块化,要写很多配置文件,而我们这里只想用最简单的Gulp是最好的选择。Gulp基于Node.js构建。借助Node.jsflow的强大功能,首先打开命令行工具node-v,看是否返回版本号。如果没有,请先安装节点。然后安装gulp命令行工具npminstall-ggulp-cli切换到项目目录cdmyproject生成package.json文件在项目目录下创建package.json文件npminit命令会引导你设置项目名称,版本、描述信息等安装Gulp,作为开发依赖npminstall--save-devgulp检查gulp是否安装成功,如果成功则返回一个版本号gulp--version。接下来在根目录下创建一个gulpfile.js文件,这是gulp的配置文件,gulp有一个很重要的概念,叫做task。可以根据不同的功能,将每个任务单独写在一个函数中。您可以指定任务的顺序,最后将它们组装在一起。具体可以参考官网文档https://www.gulpjs.com.cn/docs/getting-started/creating-tasks/还有一个重点就是安装插件。不同的插件实现不同的功能。例如,gulp-htmlmin用于压缩html。gulp-uglify对js进行压缩和混淆,类似于webpack中的loadernpminstall-Dgulp-uglifygulp-htmlmingulp-minify-cssgulp-revgulp-rev-collectorgulp-clean为了能够转换es6代码源代码转换成各种浏览器兼容的代码也需要安装gulp-babel,@babel/core、@babel/preset-envnpminstall-Dgulp-babel@babel/core@babel/preset-envgulpfile的配置内容。jsconst{src,dest,series,watch}=require('gulp');const丑化=require('gulp-uglify');consthtmlmin=require('gulp-htmlmin')constminifyCSS=require('gulp-minify-css');constbabel=require("gulp-babel")constrev=require('gulp-rev');//给文件名加上MD5后缀constrevCollector=require('gulp-rev-collector');//路径替换constclean=require('gulp-clean');constentry="src/"//待处理的源代码文件夹constdist='dist/';//处理过的文件保存的目录//清除文件夹中之前的内容(){varoptions={removeComments:true,//清除HTML注释collapseWhitespace:true,//压缩HTMLcollapseBooleanAttributes:true,//省略布尔属性值
