用於把 markdown
文件轉成 Vue
組件的 webpack
laoder
工具包。html
import DocComponent from './doc.md' export default { components: { DocComponent } }
特性:vue
script
渲染到當前組件esm
版本)詳細用法:Docswebpack
安裝git
npm install -D vue-dotmd-loader
webpack配置github
{ rules: [ { test: /\.md$/, use: [ 'vue-loader', // vue-dotmd-loader => vue-loader 必須的 { loader: 'vue-dotmd-loader', options: options } ] } ] }
options:web
{ wrapperName: 'DemoBlock', // 定義 demo 包裹組件(請全局註冊好組件),若是空則僅渲染 demo fileDemoNamePerfix: 'FileDemo', // 文件 demo 組件名前綴 blockDemoNamePerfix: 'BlockCodeDemo',// 代碼塊 demo 組件名前綴 fileDemoTag: 'demo:vue', // 文件 demo 標記;格式:[demo:vue](filePath) blockDemoTag: 'demo:vue',// 代碼塊 demo 標記;格式:````html demo:vue code ```` includeCodeTag: 'include:code', // 導入code,渲染成代碼;格式:[include:code](filePath) includeRawTag: 'include:raw', // 導入html片斷;格式:[include:code](filePath) dest: false, // 輸出結果到文件;true/false/function dest (code, contextPath, resourcePath) {}, // 自定義寫文件 markdown: { // markdown-it options see: https://github.com/markdown-it/markdown-it#init-with-presets-and-options options: { html: false }, notWrapper: false, init (md) { md.use(otherPlugin) // 添加 markdown-it 插件 } } }
eslint ignorenpm
{ "eslintIgnore": [ "**/*.md" ] }
若是你須要與本頁面同樣的樣式,請按照以下引用 css。json
import 'github-markdown-css/github-markdown.css' import 'highlight.js/styles/color-brewer.css' import 'vue-dotmd-loader/src/docs.css'
若是你使用 Vue cli 初始化的項目,請按照以下配置。markdown
{ // ... configureWebpack: { resolve: { extensions: ['.md'], } }, chainWebpack (config) { // see: https://github.com/neutrinojs/webpack-chain config.module .rule('dotmd') .test(/\.md$/) .use('vue-loader') .loader('vue-loader') .options({ ...(config.module.rules.get('vue').uses.get('vue-loader').get('options') || null) // 與 vue-loader 配置保持一致 }) .end() .use('vue-dotmd-loader') .loader('vue-dotmd-loader') .options({ dest: true, markdown: { options: { html: true } } }) .end() } }