vue-loader,自定义代码块,打印出来是undefined

来源:2-2 vue-loader配置

慕桂英1881010

2019-06-04

doc-loader.js
这里是从vue-loader官网copy的

module.exports = function (source, map) {
    this.callback(null, 'module.exports = function(Component) {Component.options.__docs = ' +
      JSON.stringify(source) +
      '}', map)
  }

vue-loader.config.js

const docsLoader = require.resolve("./doc-loader.js")
module.exports = (isDev) => {
    return {
        preserveWhitepace: true,
        extractCSS: !isDev,//页面中的css打包到一个css
        cssModules: {},
        // hotReload: false,//热重载,根据环境变量生成
        loaders:{
            'docs': docsLoader
        }
    }
}

webpack.config.base.js

const createVueLoaderOptions = require("./vue-loader.config")
 module: {
        rules: [
            {
                test:/\.vue$/,
                loader:'vue-loader',
                options: createVueLoaderOptions(isDev)
            },

tabs.vue

<style lang="less" scoped>
</style>
<docs> 
    ## 121212
</docs>

todo.vue

import Tabs from './tabs.vue'
console.log(Tabs.__docs)//此处打印出来是undefined
export default {
    components: {
        Item,
        Tabs
    },

老师,这里是部分代码,vue-loader的自定义块,打印出来是undefined,是哪里有问题吗?

写回答

2回答

慕桂英1881010

提问者

2019-06-04

//img.mukewang.com/szimg/5cf62c3a000156c205300289.jpg

Tabs打印出来了,没有发现__docs

0
1
Jokcy
你尝试在你写的loader函数里面打印一下,看一下有没有在执行的时候被打包。测试一下这个loader有没有被执行
2019-06-06
共1条回复

Jokcy

2019-06-04

你把整个Tabs打印一下看看

0
1
慕桂英1881010
//img.mukewang.com/szimg/5cf62c3a000156c205300289.jpg 老师,Tabs打印出来了,没有发现__docs
2019-06-04
共1条回复

Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲

深入讲解Vue核心技术,展示Vue应用开发中的各种问题和解决方案

3168 学习 · 853 问题

查看课程