Vue 开发实战实战篇 # 45:如何构建可交互的组件文档让代码高亮的显示在页面

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 开发实战实战篇 # 45:如何构建可交互的组件文档让代码高亮的显示在页面相关的知识,希望对你有一定的参考价值。

说明

【Vue 开发实战】学习笔记。

效果

要实现这个代码的显示

使用 raw-loader 实现代码输出到页面

https://github.com/webpack-contrib/raw-loader

npm install raw-loader --save-dev

我们不走 webpack 的配置,使用下面一种方式

import chartCode from "!!raw-loader!@/components/Chart.vue";


我们在分析页添加 Chart.vue 的代码

<template>
    <div>
        $t('message')["app.dashboard.analysis.timeLabel"]
        <a-date-picker/>
        <Chart :option="chartOption" style="width: 600px; height: 400px;"/>
        chartCode
    </div>
</template>

<script>
import Chart from "@/components/Chart.vue";
import request from "@/utils/request.js";
import chartCode from "!!raw-loader!@/components/Chart.vue";

export default 
    data() 
        return 
            chartOption: ,
            chartCode
        
    ,
    components: 
        Chart
    ,
    mounted() 
        this.getChartData();
        this.interval = setInterval(() => 
            this.getChartData();
        , 3000);
    ,
    beforeDestroy() 
        clearInterval(this.interval);
    ,
    methods: 
        getChartData() 
            request(
                url: "/api/dashboard/chart",
                method: "get",
                params: 
                    id: "kaimo313"
                
            ).then(response => 
                this.chartOption = 
                    title: 
                        text: 'ECharts 入门示例'
                    ,
                    tooltip: ,
                    legend: 
                        data: ['销量']
                    ,
                    xAxis: 
                        data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
                    ,
                    yAxis: ,
                    series: [
                        
                            name: '销量',
                            type: 'bar',
                            data: response.data
                        
                    ]
                
            )
        
    ,
;
</script>

<style></style>


我们可以看到效果已经出来了,不过没有样式

使用 vue-highlightjs 做代码样式处理

https://github.com/metachris/vue-highlightjs

npm install --save vue-highlightjs

main.js 里添加下面代码:主题可以自己查找:https://github.com/highlightjs/highlight.js/blob/main/src/styles,比如这里我使用了 monokai-sublime 的主题

import VueHighlightJS from 'vue-highlightjs';
import 'highlight.js/styles/monokai-sublime.css';

Vue.use(VueHighlightJS);

分析页添加这个高亮的显示

<pre v-highlightjs><code class="html">chartCode</code></pre>

效果如下:

以上是关于Vue 开发实战实战篇 # 45:如何构建可交互的组件文档让代码高亮的显示在页面的主要内容,如果未能解决你的问题,请参考以下文章

Vue 开发实战实战篇 # 44:如何高效地构建打包发布

Vue 开发实战实战篇 # 30:实现一个可动态改变的页面布局

〖Python 数据库开发实战 - Python与MySQL交互篇⑯〗- 项目实战 - 实现用户管理 - 新增用户功能

Vue 开发实战实战篇 # 43:如何做好国际化

Vue 开发实战实战篇 # 28:如何自定义Webpack和Babel配置

Vue 开发实战实战篇 # 32:如何使用路由管理用户权限