diff --git a/RffernceResource.vue b/RffernceResource.vue new file mode 100644 index 0000000..4944603 --- /dev/null +++ b/RffernceResource.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/package.json b/package.json index 70ef578..dd721ec 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "dependencies": { "core-js": "^3.8.3", + "element-ui": "^2.15.14", "vue": "^2.6.14", "vue-router": "^3.5.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af94ef8..029fbe2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: core-js: specifier: ^3.8.3 version: 3.39.0 + element-ui: + specifier: ^2.15.14 + version: 2.15.14(vue@2.7.16) vue: specifier: ^2.6.14 version: 2.7.16 @@ -1081,6 +1084,9 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} + async-validator@1.8.5: + resolution: {integrity: sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==} + async@2.6.4: resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} @@ -1095,6 +1101,9 @@ packages: peerDependencies: postcss: ^8.1.0 + babel-helper-vue-jsx-merge-props@2.0.3: + resolution: {integrity: sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==} + babel-loader@8.4.1: resolution: {integrity: sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==} engines: {node: '>= 8.9'} @@ -1120,6 +1129,9 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-runtime@6.26.0: + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1499,6 +1511,10 @@ packages: core-js-compat@3.39.0: resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + core-js@3.39.0: resolution: {integrity: sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==} @@ -1721,6 +1737,11 @@ packages: electron-to-chromium@1.5.71: resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==} + element-ui@2.15.14: + resolution: {integrity: sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==} + peerDependencies: + vue: ^2.5.17 + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2620,6 +2641,9 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} + normalize-wheel@1.0.1: + resolution: {integrity: sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==} + npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -3070,6 +3094,9 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + regenerator-runtime@0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} + regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} @@ -3109,6 +3136,9 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -3418,6 +3448,10 @@ packages: peerDependencies: webpack: ^4.27.0 || ^5.0.0 + throttle-debounce@1.1.0: + resolution: {integrity: sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==} + engines: {node: '>=4'} + thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} @@ -5253,6 +5287,10 @@ snapshots: astral-regex@2.0.0: {} + async-validator@1.8.5: + dependencies: + babel-runtime: 6.26.0 + async@2.6.4: dependencies: lodash: 4.17.21 @@ -5269,6 +5307,8 @@ snapshots: postcss: 8.4.49 postcss-value-parser: 4.2.0 + babel-helper-vue-jsx-merge-props@2.0.3: {} + babel-loader@8.4.1(@babel/core@7.26.0)(webpack@5.97.1): dependencies: '@babel/core': 7.26.0 @@ -5306,6 +5346,11 @@ snapshots: transitivePeerDependencies: - supports-color + babel-runtime@6.26.0: + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + balanced-match@1.0.2: {} base64-js@1.5.1: {} @@ -5552,6 +5597,8 @@ snapshots: dependencies: browserslist: 4.24.2 + core-js@2.6.12: {} + core-js@3.39.0: {} core-util-is@1.0.3: {} @@ -5779,6 +5826,16 @@ snapshots: electron-to-chromium@1.5.71: {} + element-ui@2.15.14(vue@2.7.16): + dependencies: + async-validator: 1.8.5 + babel-helper-vue-jsx-merge-props: 2.0.3 + deepmerge: 1.5.2 + normalize-wheel: 1.0.1 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 1.1.0 + vue: 2.7.16 + emoji-regex@8.0.0: {} emojis-list@3.0.0: {} @@ -6664,6 +6721,8 @@ snapshots: normalize-url@6.1.0: {} + normalize-wheel@1.0.1: {} + npm-run-path@2.0.2: dependencies: path-key: 2.0.1 @@ -7111,6 +7170,8 @@ snapshots: regenerate@1.4.2: {} + regenerator-runtime@0.11.1: {} + regenerator-runtime@0.14.1: {} regenerator-transform@0.15.2: @@ -7150,6 +7211,8 @@ snapshots: requires-port@1.0.0: {} + resize-observer-polyfill@1.5.1: {} + resolve-from@4.0.0: {} resolve@1.22.8: @@ -7491,6 +7554,8 @@ snapshots: schema-utils: 3.3.0 webpack: 5.97.1 + throttle-debounce@1.1.0: {} + thunky@1.1.0: {} to-regex-range@5.0.1: diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..f44fb96 --- /dev/null +++ b/public/css/main.css @@ -0,0 +1,51 @@ +html{ + margin: 0; + padding: 0; + background-color: #fff; + width: 100%; + height: 100%; + overflow: hidden; +} + +body{ + margin: 0; + padding: 0; + height: 100%;; + width: 100%; +} + +a{ + text-decoration: none; +} + +darkblue{ + color: darkblue; +} + +.header{ + background-color: #1cf; + line-height: 100%; + color: #fff; +} + +.el-menu-item i{ + color: white; +} +.el-menu-item.is-active{ + font-size: larger; +} +.aside{ + height: 100%; +} +.container{ + width: 100%; + height: 100%; +} + +.H-full{ + height: 100%; +} +.W-full{ + width: 100%; +} + diff --git a/public/index.html b/public/index.html index 3e5a139..be0c59b 100644 --- a/public/index.html +++ b/public/index.html @@ -1,10 +1,11 @@ - + + <%= htmlWebpackPlugin.options.title %> @@ -14,4 +15,5 @@
+ diff --git a/src/App.vue b/src/App.vue index 240acf4..c8ea8f5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,32 +1,54 @@ - + diff --git a/src/main.js b/src/main.js index 659607d..1dc6286 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,11 @@ import Vue from 'vue' import App from './App.vue' import router from './router' +//引入element-ui +import ElementUI from 'element-ui'; +import 'element-ui/lib/theme-chalk/index.css'; +//在vue中启用element-ui +Vue.use(ElementUI); Vue.config.productionTip = false diff --git a/src/router/index.js b/src/router/index.js index c937ad9..ef9b6f8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,22 +1,19 @@ import Vue from 'vue' import VueRouter from 'vue-router' -import HomeView from '../views/HomeView.vue' + Vue.use(VueRouter) const routes = [ { path: '/', - name: 'home', - component: HomeView + name: 'root', + component: () => import('../App.vue') }, { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue') + path: '/course', + name: 'course', + component: () => import('../views/course/CourseList.vue') } ] diff --git a/src/views/course/CourseList.vue b/src/views/course/CourseList.vue new file mode 100644 index 0000000..fa9cc52 --- /dev/null +++ b/src/views/course/CourseList.vue @@ -0,0 +1,112 @@ + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 910e297..2a6d071 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,7 @@ const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ - transpileDependencies: true + transpileDependencies: true, + devServer:{ + port: 7000 + } })