From d563be5f1a2884b3e7d7d5d9d3135ea1f2375eb3 Mon Sep 17 00:00:00 2001 From: misitebao Date: Thu, 9 Sep 2021 05:16:10 +0800 Subject: [PATCH] feat: update front-end template --- frontend/package-lock.tmpl.json | 247 ++++++++++++++++++-- frontend/package.tmpl.json | 7 +- frontend/public/favicon.ico | Bin 4286 -> 21017 bytes frontend/src/App.vue | 216 +++++++++++++++-- frontend/src/assets/css/reset.css | 124 ++++++++++ frontend/src/assets/logo.png | Bin 6849 -> 22345 bytes frontend/src/components/HelloWorld.vue | 10 +- frontend/src/components/public/OpenLink.vue | 37 +++ frontend/src/components/public/index.js | 10 + frontend/src/i18n/messages/en.json | 29 ++- frontend/src/i18n/messages/zh-Hans.json | 29 ++- frontend/src/main.js | 5 + frontend/src/views/About.vue | 62 ++++- frontend/src/views/Home.vue | 73 ++++-- frontend/vue.config.js | 10 + 15 files changed, 793 insertions(+), 66 deletions(-) create mode 100644 frontend/src/assets/css/reset.css create mode 100644 frontend/src/components/public/OpenLink.vue create mode 100644 frontend/src/components/public/index.js create mode 100644 frontend/vue.config.js diff --git a/frontend/package-lock.tmpl.json b/frontend/package-lock.tmpl.json index 75bb77e..d105318 100644 --- a/frontend/package-lock.tmpl.json +++ b/frontend/package-lock.tmpl.json @@ -16,7 +16,9 @@ "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-service": "~4.5.0", "@vue/compiler-sfc": "^3.0.0", - "serve": "^12.0.0" + "serve": "^12.0.0", + "stylus": "^0.54.7", + "stylus-loader": "^3.0.2" } }, "node_modules/@babel/code-frame": { @@ -2968,6 +2970,18 @@ "node": "*" } }, + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, "node_modules/css-color-names": { "version": "0.0.4", "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", @@ -3017,6 +3031,15 @@ "webpack": "^4.0.0 || ^5.0.0" } }, + "node_modules/css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/css-parse/download/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "dependencies": { + "css": "^2.0.0" + } + }, "node_modules/css-select": { "version": "4.1.3", "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz", @@ -3869,22 +3892,23 @@ } }, "node_modules/es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.5.tgz?cache=0&sync_timestamp=1627880655441&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.5.tgz", - "integrity": "sha1-mxDefUwgajWB/VshJCM+BNtJrhk=", + "version": "1.18.6", + "resolved": "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.6.tgz?cache=0&sync_timestamp=1631076806734&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.6.tgz", + "integrity": "sha1-LETj6npiVQORZNJlWXd6bZeMtFY=", "dev": true, "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -4720,6 +4744,19 @@ "node": ">=6" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", + "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", @@ -6221,6 +6258,12 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz?cache=0&sync_timestamp=1599054271708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.clonedeep%2Fdownload%2Flodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "node_modules/lodash.defaultsdeep": { "version": "4.6.1", "resolved": "https://registry.nlark.com/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz", @@ -10130,6 +10173,78 @@ "node": ">=8" } }, + "node_modules/stylus": { + "version": "0.54.8", + "resolved": "https://registry.nlark.com/stylus/download/stylus-0.54.8.tgz", + "integrity": "sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc=", + "dev": true, + "dependencies": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/stylus-loader/download/stylus-loader-3.0.2.tgz", + "integrity": "sha1-J6cGQgsFo44DjnyssVNXjUUFE8Y=", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" + }, + "peerDependencies": { + "stylus": ">=0.52.4" + } + }, + "node_modules/stylus/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stylus/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1609157854165&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylus/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1629910562433&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703400240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", @@ -11990,6 +12105,12 @@ "node": ">=0.8.0" } }, + "node_modules/when": { + "version": "3.6.4", + "resolved": "https://registry.npm.taobao.org/when/download/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", @@ -14862,6 +14983,18 @@ "randomfill": "^1.0.3" } }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", @@ -14899,6 +15032,15 @@ "semver": "^6.3.0" } }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/css-parse/download/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, "css-select": { "version": "4.1.3", "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz", @@ -15611,22 +15753,23 @@ } }, "es-abstract": { - "version": "1.18.5", - "resolved": "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.5.tgz?cache=0&sync_timestamp=1627880655441&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.5.tgz", - "integrity": "sha1-mxDefUwgajWB/VshJCM+BNtJrhk=", + "version": "1.18.6", + "resolved": "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.6.tgz?cache=0&sync_timestamp=1631076806734&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.6.tgz", + "integrity": "sha1-LETj6npiVQORZNJlWXd6bZeMtFY=", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", - "is-callable": "^1.2.3", + "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -16314,6 +16457,16 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", + "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", @@ -17539,6 +17692,12 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz?cache=0&sync_timestamp=1599054271708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.clonedeep%2Fdownload%2Flodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.defaultsdeep": { "version": "4.6.1", "resolved": "https://registry.nlark.com/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz", @@ -20862,6 +21021,62 @@ } } }, + "stylus": { + "version": "0.54.8", + "resolved": "https://registry.nlark.com/stylus/download/stylus-0.54.8.tgz", + "integrity": "sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc=", + "dev": true, + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/debug/download/debug-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1609157854165&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1629910562433&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fms%2Fdownload%2Fms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true + } + } + }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/stylus-loader/download/stylus-loader-3.0.2.tgz", + "integrity": "sha1-J6cGQgsFo44DjnyssVNXjUUFE8Y=", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703400240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", @@ -22418,6 +22633,12 @@ "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", "dev": true }, + "when": { + "version": "3.6.4", + "resolved": "https://registry.npm.taobao.org/when/download/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, "which": { "version": "1.3.1", "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", diff --git a/frontend/package.tmpl.json b/frontend/package.tmpl.json index 35e45f5..3143f35 100644 --- a/frontend/package.tmpl.json +++ b/frontend/package.tmpl.json @@ -16,7 +16,8 @@ "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-service": "~4.5.0", "@vue/compiler-sfc": "^3.0.0", - "serve": "^12.0.0" - }, - "author": "{{.AuthorName}}" + "serve": "^12.0.0", + "stylus": "^0.54.7", + "stylus-loader": "^3.0.2" + } } diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..f33479841c61728c8b5ee076ed13771c68e48b40 100644 GIT binary patch literal 21017 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 diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 8abf045..1340a2d 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,38 +1,204 @@ - diff --git a/frontend/src/assets/css/reset.css b/frontend/src/assets/css/reset.css new file mode 100644 index 0000000..82935ae --- /dev/null +++ b/frontend/src/assets/css/reset.css @@ -0,0 +1,124 @@ +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png index f3d2503fc2a44b5053b0837ebea6e87a2d339a43..d585a0da63726d09711f92d68b70d15e7423cdc6 100644 GIT binary patch literal 22345 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 z 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 q6xA${s8P$d4lvMt8C^+TcQu4F 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 -
+
+ + diff --git a/frontend/src/components/public/index.js b/frontend/src/components/public/index.js new file mode 100644 index 0000000..651946f --- /dev/null +++ b/frontend/src/components/public/index.js @@ -0,0 +1,10 @@ +import OpenLink from '@/components/public/OpenLink.vue' + +// Encapsulate global components as plug-ins +// 将全局组件封装为插件 + +export default { + install(app) { + app.component(OpenLink.name, OpenLink) + } +} \ No newline at end of file diff --git a/frontend/src/i18n/messages/en.json b/frontend/src/i18n/messages/en.json index 5d88f20..d9a31d5 100644 --- a/frontend/src/i18n/messages/en.json +++ b/frontend/src/i18n/messages/en.json @@ -1,10 +1,31 @@ { - "welcome": "Welcome to Your Vue.js App", - "menu": { + "nav": { "home": "Home", "about": "About" }, - "about": { - "welcome": "This is an about page" + "languages": { + "en": "English", + "zh-Hans": "简体中文" + }, + "topbar": { + "minimise": "Minimise", + "exit": "Exit" + }, + "homepage": { + "welcome": "Welcome to use Wails program developed based on Vue", + "getting-started": "Getting Started", + "star-me": "Star Me" + }, + "aboutpage": { + "title": "Wails Template Vue", + "project-repository": "Project Repository", + "author": "Author", + "misitebao": "Misitebao", + "wails-repository": "Wails Repository", + "thanks": "Thank you all for your support🙏!" + }, + "global": { + "not-supported": "Because it is a beta version, it can't be done for the time being, it will be completed later.", + "click-link": "The currently clicked link is: " } } diff --git a/frontend/src/i18n/messages/zh-Hans.json b/frontend/src/i18n/messages/zh-Hans.json index a70ead8..8121939 100644 --- a/frontend/src/i18n/messages/zh-Hans.json +++ b/frontend/src/i18n/messages/zh-Hans.json @@ -1,10 +1,31 @@ { - "welcome": "欢迎使用Vue.js应用程序", - "menu": { + "nav": { "home": "主页", "about": "关于" }, - "about": { - "welcome": "这是一个关于页面" + "languages": { + "en": "English", + "zh-Hans": "简体中文" + }, + "topbar": { + "minimise": "最小化", + "exit": "退出" + }, + "homepage": { + "welcome": "欢迎使用基于Vue开发的Wails程序", + "getting-started": "新手入门", + "star-me": "给我点星" + }, + "aboutpage": { + "title": "Wails Template Vue", + "project-repository": "项目仓库", + "author": "作者", + "misitebao": "米司特包", + "wails-repository": "Wails 仓库", + "thanks": "感谢各位大佬的支持🙏!" + }, + "global": { + "not-supported": "由于是测试版,所以暂时做不了,后续会完成它。", + "click-link": "当前点击的链接是: " } } diff --git a/frontend/src/main.js b/frontend/src/main.js index 54cd23b..d253191 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -3,7 +3,12 @@ import App from './App.vue' import router from './router' import i18n from './i18n' +// Register global common components +// 注册全局通用组件 +import publicComponents from '@/components/public' + createApp(App) .use(router) .use(i18n) + .use(publicComponents) .mount('#app') diff --git a/frontend/src/views/About.vue b/frontend/src/views/About.vue index 248069c..60b1032 100644 --- a/frontend/src/views/About.vue +++ b/frontend/src/views/About.vue @@ -1,5 +1,65 @@ + diff --git a/frontend/src/views/Home.vue b/frontend/src/views/Home.vue index 486943b..e584573 100644 --- a/frontend/src/views/Home.vue +++ b/frontend/src/views/Home.vue @@ -1,30 +1,77 @@ + diff --git a/frontend/vue.config.js b/frontend/vue.config.js new file mode 100644 index 0000000..be554e0 --- /dev/null +++ b/frontend/vue.config.js @@ -0,0 +1,10 @@ +module.exports = { + // The build file does not use the hash file name + // 构建文件不使用hash文件名 + filenameHashing: false, + // Package the css into a separate file + // 将css打包到单独的文件 + css: { + extract: "true" + } +} \ No newline at end of file