执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue","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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBUb2RvIGZyb20gJy4vVG9kby52dWUnCgpjb25zdCBTVE9SQUdFX0tFWSA9ICd0b2RvcycKY29uc3QgZmlsdGVycyA9IHsKICBhbGw6IHRvZG9zID0+IHRvZG9zLAogIGFjdGl2ZTogdG9kb3MgPT4gdG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSksCiAgY29tcGxldGVkOiB0b2RvcyA9PiB0b2Rvcy5maWx0ZXIodG9kbyA9PiB0b2RvLmRvbmUpCn0KY29uc3QgZGVmYWx1dExpc3QgPSBbCiAgeyB0ZXh0OiAnc3RhciB0aGlzIHJlcG9zaXRvcnknLCBkb25lOiBmYWxzZSB9LAogIHsgdGV4dDogJ2ZvcmsgdGhpcyByZXBvc2l0b3J5JywgZG9uZTogZmFsc2UgfSwKICB7IHRleHQ6ICdmb2xsb3cgYXV0aG9yJywgZG9uZTogZmFsc2UgfSwKICB7IHRleHQ6ICd2dWUtZWxlbWVudC1hZG1pbicsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICd2dWUnLCBkb25lOiB0cnVlIH0sCiAgeyB0ZXh0OiAnZWxlbWVudC11aScsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICdheGlvcycsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICd3ZWJwYWNrJywgZG9uZTogdHJ1ZSB9Cl0KZXhwb3J0IGRlZmF1bHQgewogIGNvbXBvbmVudHM6IHsgVG9kbyB9LAogIGZpbHRlcnM6IHsKICAgIHBsdXJhbGl6ZTogKG4sIHcpID0+IG4gPT09IDEgPyB3IDogdyArICdzJywKICAgIGNhcGl0YWxpemU6IHMgPT4gcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHMuc2xpY2UoMSkKICB9LAogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmlsaXR5OiAnYWxsJywKICAgICAgZmlsdGVycywKICAgICAgLy8gdG9kb3M6IEpTT04ucGFyc2Uod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZKSkgfHwgZGVmYWx1dExpc3QKICAgICAgdG9kb3M6IGRlZmFsdXRMaXN0CiAgICB9CiAgfSwKICBjb21wdXRlZDogewogICAgYWxsQ2hlY2tlZCgpIHsKICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZXZlcnkodG9kbyA9PiB0b2RvLmRvbmUpCiAgICB9LAogICAgZmlsdGVyZWRUb2RvcygpIHsKICAgICAgcmV0dXJuIGZpbHRlcnNbdGhpcy52aXNpYmlsaXR5XSh0aGlzLnRvZG9zKQogICAgfSwKICAgIHJlbWFpbmluZygpIHsKICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSkubGVuZ3RoCiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBzZXRMb2NhbFN0b3JhZ2UoKSB7CiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkodGhpcy50b2RvcykpCiAgICB9LAogICAgYWRkVG9kbyhlKSB7CiAgICAgIGNvbnN0IHRleHQgPSBlLnRhcmdldC52YWx1ZQogICAgICBpZiAodGV4dC50cmltKCkpIHsKICAgICAgICB0aGlzLnRvZG9zLnB1c2goewogICAgICAgICAgdGV4dCwKICAgICAgICAgIGRvbmU6IGZhbHNlCiAgICAgICAgfSkKICAgICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgpCiAgICAgIH0KICAgICAgZS50YXJnZXQudmFsdWUgPSAnJwogICAgfSwKICAgIHRvZ2dsZVRvZG8odmFsKSB7CiAgICAgIHZhbC5kb25lID0gIXZhbC5kb25lCiAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgIH0sCiAgICBkZWxldGVUb2RvKHRvZG8pIHsKICAgICAgdGhpcy50b2Rvcy5zcGxpY2UodGhpcy50b2Rvcy5pbmRleE9mKHRvZG8pLCAxKQogICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgpCiAgICB9LAogICAgZWRpdFRvZG8oeyB0b2RvLCB2YWx1ZSB9KSB7CiAgICAgIHRvZG8udGV4dCA9IHZhbHVlCiAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgIH0sCiAgICBjbGVhckNvbXBsZXRlZCgpIHsKICAgICAgdGhpcy50b2RvcyA9IHRoaXMudG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSkKICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoKQogICAgfSwKICAgIHRvZ2dsZUFsbCh7IGRvbmUgfSkgewogICAgICB0aGlzLnRvZG9zLmZvckVhY2godG9kbyA9PiB7CiAgICAgICAgdG9kby5kb25lID0gZG9uZQogICAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgICAgfSkKICAgIH0KICB9Cn0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/dashboard/admin/components/TodoList","sourcesContent":["<template>\n  <section class=\"todoapp\">\n    <!-- header -->\n    <header class=\"header\">\n      <input class=\"new-todo\" autocomplete=\"off\" placeholder=\"Todo List\" @keyup.enter=\"addTodo\">\n    </header>\n    <!-- main section -->\n    <section v-show=\"todos.length\" class=\"main\">\n      <input id=\"toggle-all\" :checked=\"allChecked\" class=\"toggle-all\" type=\"checkbox\" @change=\"toggleAll({ done: !allChecked })\">\n      <label for=\"toggle-all\" />\n      <ul class=\"todo-list\">\n        <todo\n          v-for=\"(todo, index) in filteredTodos\"\n          :key=\"index\"\n          :todo=\"todo\"\n          @toggleTodo=\"toggleTodo\"\n          @editTodo=\"editTodo\"\n          @deleteTodo=\"deleteTodo\"\n        />\n      </ul>\n    </section>\n    <!-- footer -->\n    <footer v-show=\"todos.length\" class=\"footer\">\n      <span class=\"todo-count\">\n        <strong>{{ remaining }}</strong>\n        {{ remaining | pluralize('item') }} left\n      </span>\n      <ul class=\"filters\">\n        <li v-for=\"(val, key) in filters\" :key=\"key\">\n          <a :class=\"{ selected: visibility === key }\" @click.prevent=\"visibility = key\">{{ key | capitalize }}</a>\n        </li>\n      </ul>\n      <!-- <button class=\"clear-completed\" v-show=\"todos.length > remaining\" @click=\"clearCompleted\">\n        Clear completed\n      </button> -->\n    </footer>\n  </section>\n</template>\n\n<script>\nimport Todo from './Todo.vue'\n\nconst STORAGE_KEY = 'todos'\nconst filters = {\n  all: todos => todos,\n  active: todos => todos.filter(todo => !todo.done),\n  completed: todos => todos.filter(todo => todo.done)\n}\nconst defalutList = [\n  { text: 'star this repository', done: false },\n  { text: 'fork this repository', done: false },\n  { text: 'follow author', done: false },\n  { text: 'vue-element-admin', done: true },\n  { text: 'vue', done: true },\n  { text: 'element-ui', done: true },\n  { text: 'axios', done: true },\n  { text: 'webpack', done: true }\n]\nexport default {\n  components: { Todo },\n  filters: {\n    pluralize: (n, w) => n === 1 ? w : w + 's',\n    capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)\n  },\n  data() {\n    return {\n      visibility: 'all',\n      filters,\n      // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList\n      todos: defalutList\n    }\n  },\n  computed: {\n    allChecked() {\n      return this.todos.every(todo => todo.done)\n    },\n    filteredTodos() {\n      return filters[this.visibility](this.todos)\n    },\n    remaining() {\n      return this.todos.filter(todo => !todo.done).length\n    }\n  },\n  methods: {\n    setLocalStorage() {\n      window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))\n    },\n    addTodo(e) {\n      const text = e.target.value\n      if (text.trim()) {\n        this.todos.push({\n          text,\n          done: false\n        })\n        this.setLocalStorage()\n      }\n      e.target.value = ''\n    },\n    toggleTodo(val) {\n      val.done = !val.done\n      this.setLocalStorage()\n    },\n    deleteTodo(todo) {\n      this.todos.splice(this.todos.indexOf(todo), 1)\n      this.setLocalStorage()\n    },\n    editTodo({ todo, value }) {\n      todo.text = value\n      this.setLocalStorage()\n    },\n    clearCompleted() {\n      this.todos = this.todos.filter(todo => !todo.done)\n      this.setLocalStorage()\n    },\n    toggleAll({ done }) {\n      this.todos.forEach(todo => {\n        todo.done = done\n        this.setLocalStorage()\n      })\n    }\n  }\n}\n</script>\n\n<style lang=\"scss\">\n  @import './index.scss';\n</style>\n"]}]}