先导

之前使用canvaJS已经写过了一个统计页面,但是我觉得样式不够好看,于是又去找图表框架,发现chart.js还挺好看,这里就不说怎么创建一个统计页面了,我不可能所有文章都从最最最基础的讲起的,作者也开始摆烂咯,哈哈哈哈!!!(主要是写教程没经济来源)

找到教程

教程:Chart.js · GitBook (bootcss.com)

本教程会使用到webpack, 不知道什么是webpack的,可以先去看一下,官网在:webpack,用于解决模块化导入问题。我觉得很多小伙伴是不是卡在这里了呢?看到这里你是不是觉得很懵,为什么能直接在自己博客的目录下安装chart.js, 然后直接引用,
哈哈哈哈,hexo可不支持模块化哦!,看以后会不会支持吧,反正不管怎样都要使用webpack去打包,生成一个可用的js文件

安装webpack

在一个空文件夹中

npm i webpack
npm i webpack-cli

安装chart.js

npm i chart.js

新建一个src目录

在此目录新建main.js, 主要用于写chart.js的配置
内容如下:

import Chart from "chart.js/auto";
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});

注意chart.js的引用:import Chart from “chart.js/auto”;

配置webpack的打包信息

新建文件webpack.config.js

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './src/main.js',  // 项目的入口文件路径
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'  // 构建后的文件路径和文件名
  }
};

执行命令:

npx webpack

执行后生成一个dist文件夹

创建html页面

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <canvas id="myChart" width="400" height="400"></canvas>
    <script src="./dist/bundle.js"></script>
</body>

</html>

用浏览器打开应该就成功了

最后在根据我之前的那篇文章:增加一个统计模块 | Lazychild's Blog,可以获取本地的一些数据,将图表的数据与博客数据关联起来,最后将自己生成的js文件与html页面移植到自己的博客项目中即可