执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js!D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\layout\\components\\Sidebar\\SidebarItem.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\layout\\components\\Sidebar\\SidebarItem.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\babel.config.js","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovXHU2RTkwXHU3ODAxL3Z1ZS1lbGVtZW50LWFkbWluLW1hc3Rlci9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgcGF0aCBmcm9tICdwYXRoJzsKaW1wb3J0IHsgaXNFeHRlcm5hbCB9IGZyb20gJ0AvdXRpbHMvdmFsaWRhdGUnOwppbXBvcnQgSXRlbSBmcm9tICcuL0l0ZW0nOwppbXBvcnQgQXBwTGluayBmcm9tICcuL0xpbmsnOwppbXBvcnQgRml4aU9TQnVnIGZyb20gJy4vRml4aU9TQnVnJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdTaWRlYmFySXRlbScsCiAgY29tcG9uZW50czogewogICAgSXRlbTogSXRlbSwKICAgIEFwcExpbms6IEFwcExpbmsKICB9LAogIG1peGluczogW0ZpeGlPU0J1Z10sCiAgcHJvcHM6IHsKICAgIC8vIHJvdXRlIG9iamVjdAogICAgaXRlbTogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIHJlcXVpcmVkOiB0cnVlCiAgICB9LAogICAgaXNOZXN0OiB7CiAgICAgIHR5cGU6IEJvb2xlYW4sCiAgICAgIGRlZmF1bHQ6IGZhbHNlCiAgICB9LAogICAgYmFzZVBhdGg6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJwogICAgfQogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIC8vIFRvIGZpeCBodHRwczovL2dpdGh1Yi5jb20vUGFuSmlhQ2hlbi92dWUtYWRtaW4tdGVtcGxhdGUvaXNzdWVzLzIzNwogICAgLy8gVE9ETzogcmVmYWN0b3Igd2l0aCByZW5kZXIgZnVuY3Rpb24KICAgIHRoaXMub25seU9uZUNoaWxkID0gbnVsbDsKICAgIHJldHVybiB7fTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGhhc09uZVNob3dpbmdDaGlsZDogZnVuY3Rpb24gaGFzT25lU2hvd2luZ0NoaWxkKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgdmFyIGNoaWxkcmVuID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBbXTsKICAgICAgdmFyIHBhcmVudCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOwogICAgICB2YXIgc2hvd2luZ0NoaWxkcmVuID0gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0ZW0uaGlkZGVuKSB7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIFRlbXAgc2V0KHdpbGwgYmUgdXNlZCBpZiBvbmx5IGhhcyBvbmUgc2hvd2luZyBjaGlsZCkKICAgICAgICAgIF90aGlzLm9ubHlPbmVDaGlsZCA9IGl0ZW07CiAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgIH0pOyAvLyBXaGVuIHRoZXJlIGlzIG9ubHkgb25lIGNoaWxkIHJvdXRlciwgdGhlIGNoaWxkIHJvdXRlciBpcyBkaXNwbGF5ZWQgYnkgZGVmYXVsdAoKICAgICAgaWYgKHNob3dpbmdDaGlsZHJlbi5sZW5ndGggPT09IDEpIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgfSAvLyBTaG93IHBhcmVudCBpZiB0aGVyZSBhcmUgbm8gY2hpbGQgcm91dGVyIHRvIGRpc3BsYXkKCgogICAgICBpZiAoc2hvd2luZ0NoaWxkcmVuLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHRoaXMub25seU9uZUNoaWxkID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBwYXJlbnQpLCB7fSwgewogICAgICAgICAgcGF0aDogJycsCiAgICAgICAgICBub1Nob3dpbmdDaGlsZHJlbjogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIHJldHVybiB0cnVlOwogICAgICB9CgogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgcmVzb2x2ZVBhdGg6IGZ1bmN0aW9uIHJlc29sdmVQYXRoKHJvdXRlUGF0aCkgewogICAgICBpZiAoaXNFeHRlcm5hbChyb3V0ZVBhdGgpKSB7CiAgICAgICAgcmV0dXJuIHJvdXRlUGF0aDsKICAgICAgfQoKICAgICAgaWYgKGlzRXh0ZXJuYWwodGhpcy5iYXNlUGF0aCkpIHsKICAgICAgICByZXR1cm4gdGhpcy5iYXNlUGF0aDsKICAgICAgfQoKICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZSh0aGlzLmJhc2VQYXRoLCByb3V0ZVBhdGgpOwogICAgfQogIH0KfTs="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA;AACA;AACA;AACA;AACA;AAEA;EACAA,mBADA;EAEAC;IAAAC;IAAAC;EAAA,CAFA;EAGAC,mBAHA;EAIAC;IACA;IACAC;MACAC,YADA;MAEAC;IAFA,CAFA;IAMAC;MACAF,aADA;MAEAG;IAFA,CANA;IAUAC;MACAJ,YADA;MAEAG;IAFA;EAVA,CAJA;EAmBAE,IAnBA,kBAmBA;IACA;IACA;IACA;IACA;EACA,CAxBA;EAyBAC;IACAC,kBADA,gCACA;MAAA;;MAAA;MAAA;MACA;QACA;UACA;QACA,CAFA,MAEA;UACA;UACA;UACA;QACA;MACA,CARA,EADA,CAWA;;MACA;QACA;MACA,CAdA,CAgBA;;;MACA;QACA;UAAAC;UAAAC;QAAA;QACA;MACA;;MAEA;IACA,CAxBA;IAyBAC,WAzBA,uBAyBAC,SAzBA,EAyBA;MACA;QACA;MACA;;MACA;QACA;MACA;;MACA;IACA;EAjCA;AAzBA","names":["name","components","Item","AppLink","mixins","props","item","type","required","isNest","default","basePath","data","methods","hasOneShowingChild","path","noShowingChildren","resolvePath","routePath"],"sourceRoot":"src/layout/components/Sidebar","sources":["SidebarItem.vue"],"sourcesContent":["<template>\n  <div v-if=\"!item.hidden\">\n    <template v-if=\"hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow\">\n      <app-link v-if=\"onlyOneChild.meta\" :to=\"resolvePath(onlyOneChild.path)\">\n        <el-menu-item :index=\"resolvePath(onlyOneChild.path)\" :class=\"{'submenu-title-noDropdown':!isNest}\">\n          <item :icon=\"onlyOneChild.meta.icon||(item.meta&&item.meta.icon)\" :title=\"onlyOneChild.meta.title\" />\n        </el-menu-item>\n      </app-link>\n    </template>\n\n    <el-submenu v-else ref=\"subMenu\" :index=\"resolvePath(item.path)\" popper-append-to-body>\n      <template slot=\"title\">\n        <item v-if=\"item.meta\" :icon=\"item.meta && item.meta.icon\" :title=\"item.meta.title\" />\n      </template>\n      <sidebar-item\n        v-for=\"child in item.children\"\n        :key=\"child.path\"\n        :is-nest=\"true\"\n        :item=\"child\"\n        :base-path=\"resolvePath(child.path)\"\n        class=\"nest-menu\"\n      />\n    </el-submenu>\n  </div>\n</template>\n\n<script>\nimport path from 'path'\nimport { isExternal } from '@/utils/validate'\nimport Item from './Item'\nimport AppLink from './Link'\nimport FixiOSBug from './FixiOSBug'\n\nexport default {\n  name: 'SidebarItem',\n  components: { Item, AppLink },\n  mixins: [FixiOSBug],\n  props: {\n    // route object\n    item: {\n      type: Object,\n      required: true\n    },\n    isNest: {\n      type: Boolean,\n      default: false\n    },\n    basePath: {\n      type: String,\n      default: ''\n    }\n  },\n  data() {\n    // To fix https://github.com/PanJiaChen/vue-admin-template/issues/237\n    // TODO: refactor with render function\n    this.onlyOneChild = null\n    return {}\n  },\n  methods: {\n    hasOneShowingChild(children = [], parent) {\n      const showingChildren = children.filter(item => {\n        if (item.hidden) {\n          return false\n        } else {\n          // Temp set(will be used if only has one showing child)\n          this.onlyOneChild = item\n          return true\n        }\n      })\n\n      // When there is only one child router, the child router is displayed by default\n      if (showingChildren.length === 1) {\n        return true\n      }\n\n      // Show parent if there are no child router to display\n      if (showingChildren.length === 0) {\n        this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }\n        return true\n      }\n\n      return false\n    },\n    resolvePath(routePath) {\n      if (isExternal(routePath)) {\n        return routePath\n      }\n      if (isExternal(this.basePath)) {\n        return this.basePath\n      }\n      return path.resolve(this.basePath, routePath)\n    }\n  }\n}\n</script>\n"]}]}