大家好,今天来给大家介绍一下网站发布的相关脚本。
考虑到一般程序员开发都是在windows下开发但是生产环境一般都是linux。所以,本次发布环境也是在linux下的。
首先,大家弄清楚生产环境与实验环境有什么不同。
其实只有一点,那就是生产环境的js,css,图片等全部都是经过了压缩处理的,而测试环境并没有经过这样的处理。
下面我来介绍一下压缩js,css以及压缩html,压缩图片所需要的工具与命令。
一、压缩js文件
我们使用的是压缩js这个方向上最主流的工具uglifyjs。这个工具是一个npm工具。
安装方法为:
npm install uglify-js -g
使用方法为:
uglifyjs node.js --output node.min.js
二、压缩css文件
我们使用的是与uglifyjs一家的uglifycss。这个工具也是一个npm工具。
安装方法为:
npm install uglifycss -g
使用方法与uglifyjs很相似:
uglifycss style.css --output style.min.css
三、压缩图片的工具
我们使用的是一个很强大的图片压缩工具叫做jpegoptim与optipng。
安装方法为apt-get install optipng jpegoptim
压缩jpg所使用的命令为:jpegoptim ****.jpg
压缩png所使用的命令为:optipng ****.png
四、上传空间
这里我们依旧使用lftp,不过这次我们使用的是mirror功能。
下面分享一段我自己写的发布用代码。
#!/bin/bash #混淆并压缩*.js文件 jsfiles=$(find -name "*.js") for var in $jsfiles do uglifyjs $var --output tempfile.js; mv tempfile.js $var done #压缩css文件 cssfiles=$(find -name "*.css") for var in $cssfiles do uglifycss $var --output tempfile.css; mv tempfile.css $var done #压缩jpg图片 jpgfiles=$(find -name "*.jpg") for var in $jpgfiles do jpegoptim $var; done #压缩png图片 pngfiles=$(find -name "*.png") for var in $pngfiles do optipng $var; done lftp << EOF open 118.177.227.467 user tpshop I89Ok7YHgtJ8Uy cd /var/www/html/wp-content/themes/Worldflying mirror -R --delete bye EOF