自定义代码块

需要 10.2.0+

您可以在*.vue文件中定义自定义语言块。 自定义块的内容将由在vue-loader'选项的loaders对象中指定的加载器处理,然后由组件模块require。 配置类似于[先进的Loader配置](../ configurations / advanced.md)中描述的配置,除了匹配使用标记名称而不是lang`属性。

如果找到一个自定义块的匹配加载器,它将被处理; 否则将简单地忽略自定义块。

例子

以下是将所有<docs>自定义块提取到单个文档文件的示例:

component.vue

  1. <docs>
  2. ## 这是一个示例组件.
  3. </docs>
  4. <template>
  5. <h2 class="red">{{msg}}</h2>
  6. </template>
  7. <script>
  8. export default {
  9. data () {
  10. return {
  11. msg: 'Hello from Component A!'
  12. }
  13. }
  14. }
  15. </script>
  16. <style>
  17. comp-a h2 {
  18. color: #f00;
  19. }
  20. </style>

webpack.config.js

  1. // Webpack 2.x
  2. var ExtractTextPlugin = require("extract-text-webpack-plugin")
  3. module.exports = {
  4. module: {
  5. rules: [
  6. {
  7. test: /\.vue$/,
  8. loader: 'vue',
  9. options: {
  10. loaders: {
  11. // 将所有<docs>内容提取为原始文本
  12. 'docs': ExtractTextPlugin.extract('raw-loader'),
  13. }
  14. }
  15. }
  16. ],
  17. plugins: [
  18. // 将所有文档输出到单个文件
  19. new ExtractTextPlugin('docs.md')
  20. ]
  21. }
  22. }