安装

  1. yarn add marker --dev

配置

1. 创建 vite.config.ts

  1. // @ts-nocheck
  2. import {md} from './plugins/md';
  3. export default {
  4. plugins: [md()]
  5. };

2. 创建 plugins/md.ts

  1. // @ts-nocheck
  2. import path from 'path';
  3. import fs from 'fs';
  4. import marked from 'marked';
  5. const mdToJs = str => {
  6. const content = JSON.stringify(marked(str));
  7. return `export default ${content}`;
  8. };
  9. export function md() {
  10. return {
  11. configureServer: [ // 用于开发
  12. async ({app}) => {
  13. app.use(async (ctx, next) => { // koa
  14. if (ctx.path.endsWith('.md')) {
  15. ctx.type = 'js';
  16. const filePath = path.join(process.cwd(), ctx.path);
  17. ctx.body = mdToJs(fs.readFileSync(filePath).toString());
  18. } else {
  19. await next();
  20. }
  21. });
  22. },
  23. ],
  24. transforms: [{ // 用于 rollup // 插件
  25. test: context => context.path.endsWith('.md'),
  26. transform: ({code}) => mdToJs(code)
  27. }]
  28. };
  29. }

引入并使用 github-markdown-css 美化

安装 github-markdown-css

  1. yarn add github-markdown-css
  1. <template>
  2. <article class="markdown-body" v-html="md"> //添加类名使用 github-markdown-css
  3. </article>
  4. </template>
  5. <script>
  6. import md from '../markdown/get-started.md'
  7. export default {
  8. data() {
  9. return { md }
  10. }
  11. }
  12. </script>