在使用Github免费白嫖一个博客这篇文章中,我讲述了如何使用Hexo搭建博客,并白嫖Github的托管功能
在搭建完后,我尝试访问博客时,感觉博客网站有点慢
经过研究后发现了两个问题
服务器地理位置
因为Github的服务器在国外,所以懂的都懂
博客图片过大
博客最重要的就是图片,导致加载慢的原因也有可能是图片,我们可以把图片托管在图床上,或者是压缩图片,使图片变小
html,js,css未压缩
Hexo博客生成静态文件后我们可以通过查看public文件夹里面的html,js,css文件
我们可以发现这些文件里面含有很多空格
下面是对比图
通过这两张图片我们就可以知道,Hexo生成静态文件有很多空格,在百度了一会儿后找到了解决方法
我们可以使用gulp来压缩这些静态文件
我们进入博客目录开始安装gulp
1 2
| cnpm install gulp cnpm install gulp gulp-clean-css gulp-uglify gulp-htmlmin gulp-htmlclean
|
如果没有安装cnpm可以用下面的命令安装,用npm的效果也是一样的
1
| npm install -g cnpm --registry=https:
|
安装完gulp后,我们在博客目录新建一个文件gulpfile.js
touch gulpfile.js
然后把下面的配置命令写入gulpfile.js
文件里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| const gulp = require('gulp'); const htmlmin = require('gulp-htmlmin'); const uglify = require('gulp-uglify'); const cleanCSS = require('gulp-clean-css');
const paths = { html: './public/**/*.html', js: './public/js/**/*.js', css: './public/css/**/*.css' };
gulp.task('minify-html', () => { return gulp.src(paths.html) .pipe(htmlmin({ collapseWhitespace: true })) .pipe(gulp.dest('./public')); });
gulp.task('minify-js', () => { return gulp.src(paths.js) .pipe(uglify()) .pipe(gulp.dest('./public/js')); });
gulp.task('minify-css', () => { return gulp.src(paths.css) .pipe(cleanCSS({ compatibility: 'ie8' })) .pipe(gulp.dest('./public/css')); });
gulp.task('default', gulp.series('minify-html', 'minify-js', 'minify-css'));
|
一般的Hexo程序就用我上面的来压缩即可,不需要改动
写入后保存并退出,然后我们执行gulp
进行压缩
这样子就是压缩成功了
如果你的Hexo是运行于Nginx上的还可以进行gzip压缩
打开Nginx的站点配置
1
| vi /etc/nginx/sites-enabled/default
|
我们把下面内容添加进server块里面
1 2 3 4 5 6 7 8 9 10 11 12
| gzip on;
gzip_min_length 1k;
gzip_comp_level 5;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
|
添加完后我们保存并退出,再重启一下Nginx