请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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,是哪里有问题吗?

正在回答 回答被采纳积分+3

2回答

提问者 慕桂英1881010 2019-06-04 16:32:59

https://img1.sycdn.imooc.com//szimg/5cf62c3a000156c205300289.jpg

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

0 回复 有任何疑惑可以回复我~
  • Jokcy #1
    你尝试在你写的loader函数里面打印一下,看一下有没有在执行的时候被打包。测试一下这个loader有没有被执行
    回复 有任何疑惑可以回复我~ 2019-06-06 19:54:24
Jokcy 2019-06-04 16:14:56

你把整个Tabs打印一下看看

0 回复 有任何疑惑可以回复我~
  • 提问者 慕桂英1881010 #1
    //img1.sycdn.imooc.com//szimg/5cf62c3a000156c205300289.jpg
    
    老师,Tabs打印出来了,没有发现__docs
    回复 有任何疑惑可以回复我~ 2019-06-04 16:34:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信