feat: init
This commit is contained in:
		
							
								
								
									
										3
									
								
								.browserslistrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.browserslistrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| > 1% | ||||
| last 2 versions | ||||
| not dead | ||||
							
								
								
									
										14
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| module.exports = { | ||||
|   root: true, | ||||
|   env: { | ||||
|     node: true, | ||||
|   }, | ||||
|   extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"], | ||||
|   parserOptions: { | ||||
|     parser: "babel-eslint", | ||||
|   }, | ||||
|   rules: { | ||||
|     "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", | ||||
|     "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", | ||||
|   }, | ||||
| }; | ||||
							
								
								
									
										23
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| .DS_Store | ||||
| node_modules | ||||
| /dist | ||||
|  | ||||
|  | ||||
| # local env files | ||||
| .env.local | ||||
| .env.*.local | ||||
|  | ||||
| # Log files | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| pnpm-debug.log* | ||||
|  | ||||
| # Editor directories and files | ||||
| .idea | ||||
| .vscode | ||||
| *.suo | ||||
| *.ntvs* | ||||
| *.njsproj | ||||
| *.sln | ||||
| *.sw? | ||||
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| # vite-vue2-demo2 | ||||
|  | ||||
| ## Project setup | ||||
| ``` | ||||
| yarn install | ||||
| ``` | ||||
|  | ||||
| ### Compiles and hot-reloads for development | ||||
| ``` | ||||
| yarn serve | ||||
| ``` | ||||
|  | ||||
| ### Compiles and minifies for production | ||||
| ``` | ||||
| yarn build | ||||
| ``` | ||||
|  | ||||
| ### Lints and fixes files | ||||
| ``` | ||||
| yarn lint | ||||
| ``` | ||||
|  | ||||
| ### Customize configuration | ||||
| See [Configuration Reference](https://cli.vuejs.org/config/). | ||||
							
								
								
									
										3
									
								
								babel.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								babel.config.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| module.exports = { | ||||
|   presets: ["@vue/cli-plugin-babel/preset"], | ||||
| }; | ||||
							
								
								
									
										18
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang=""> | ||||
|   <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||||
|     <meta name="viewport" content="width=device-width,initial-scale=1.0"> | ||||
|     <link rel="icon" href="/favicon.ico"> | ||||
|     <title><%= htmlWebpackPlugin.options.title %></title> | ||||
|   </head> | ||||
|   <body> | ||||
|     <noscript> | ||||
|       <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> | ||||
|     </noscript> | ||||
|     <div id="app"></div> | ||||
|     <!-- built files will be auto injected --> | ||||
|     <script type="module" src="/src/main.js"></script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										34
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| { | ||||
|   "name": "vite-vue2-demo", | ||||
|   "version": "0.1.0", | ||||
|   "private": true, | ||||
|   "scripts": { | ||||
|     "serve": "vite", | ||||
|     "build": "vue-cli-service build", | ||||
|     "lint": "vue-cli-service lint" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "core-js": "^3.6.5", | ||||
|     "vite": "^2.3.7", | ||||
|     "vite-plugin-vue2": "^1.6.2", | ||||
|     "vue": "^2.6.11", | ||||
|     "vue-router": "^3.2.0", | ||||
|     "vuex": "^3.4.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@vue/cli-plugin-babel": "~4.5.0", | ||||
|     "@vue/cli-plugin-eslint": "~4.5.0", | ||||
|     "@vue/cli-plugin-router": "~4.5.0", | ||||
|     "@vue/cli-plugin-vuex": "~4.5.0", | ||||
|     "@vue/cli-service": "~4.5.0", | ||||
|     "@vue/eslint-config-prettier": "^6.0.0", | ||||
|     "babel-eslint": "^10.1.0", | ||||
|     "eslint": "^6.7.2", | ||||
|     "eslint-plugin-prettier": "^3.3.1", | ||||
|     "eslint-plugin-vue": "^6.2.2", | ||||
|     "less": "^3.0.4", | ||||
|     "less-loader": "^5.0.0", | ||||
|     "prettier": "^2.2.1", | ||||
|     "vue-template-compiler": "^2.6.11" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								public/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								public/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 4.2 KiB | 
							
								
								
									
										32
									
								
								src/App.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/App.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| <template> | ||||
|   <div id="app"> | ||||
|     <div id="nav"> | ||||
|       <router-link to="/">Home</router-link> | | ||||
|       <router-link to="/about">About</router-link> | ||||
|     </div> | ||||
|     <router-view /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <style lang="less"> | ||||
| #app { | ||||
|   font-family: Avenir, Helvetica, Arial, sans-serif; | ||||
|   -webkit-font-smoothing: antialiased; | ||||
|   -moz-osx-font-smoothing: grayscale; | ||||
|   text-align: center; | ||||
|   color: #2c3e50; | ||||
| } | ||||
|  | ||||
| #nav { | ||||
|   padding: 30px; | ||||
|  | ||||
|   a { | ||||
|     font-weight: bold; | ||||
|     color: #2c3e50; | ||||
|  | ||||
|     &.router-link-exact-active { | ||||
|       color: #42b983; | ||||
|     } | ||||
|   } | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										
											BIN
										
									
								
								src/assets/logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								src/assets/logo.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.7 KiB | 
							
								
								
									
										130
									
								
								src/components/HelloWorld.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								src/components/HelloWorld.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,130 @@ | ||||
| <template> | ||||
|   <div class="hello"> | ||||
|     <h1>{{ msg }}</h1> | ||||
|     <p> | ||||
|       For a guide and recipes on how to configure / customize this project,<br /> | ||||
|       check out the | ||||
|       <a href="https://cli.vuejs.org" target="_blank" rel="noopener" | ||||
|         >vue-cli documentation</a | ||||
|       >. | ||||
|     </p> | ||||
|     <h3>Installed CLI Plugins</h3> | ||||
|     <ul> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >babel</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >router</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >vuex</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >eslint</a | ||||
|         > | ||||
|       </li> | ||||
|     </ul> | ||||
|     <h3>Essential Links</h3> | ||||
|     <ul> | ||||
|       <li> | ||||
|         <a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a> | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://forum.vuejs.org" target="_blank" rel="noopener" | ||||
|           >Forum</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://chat.vuejs.org" target="_blank" rel="noopener" | ||||
|           >Community Chat</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://twitter.com/vuejs" target="_blank" rel="noopener" | ||||
|           >Twitter</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a> | ||||
|       </li> | ||||
|     </ul> | ||||
|     <h3>Ecosystem</h3> | ||||
|     <ul> | ||||
|       <li> | ||||
|         <a href="https://router.vuejs.org" target="_blank" rel="noopener" | ||||
|           >vue-router</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a> | ||||
|       </li> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/vue-devtools#vue-devtools" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >vue-devtools</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener" | ||||
|           >vue-loader</a | ||||
|         > | ||||
|       </li> | ||||
|       <li> | ||||
|         <a | ||||
|           href="https://github.com/vuejs/awesome-vue" | ||||
|           target="_blank" | ||||
|           rel="noopener" | ||||
|           >awesome-vue</a | ||||
|         > | ||||
|       </li> | ||||
|     </ul> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| export default { | ||||
|   name: "HelloWorld", | ||||
|   props: { | ||||
|     msg: String, | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
|  | ||||
| <!-- Add "scoped" attribute to limit CSS to this component only --> | ||||
| <style scoped lang="less"> | ||||
| h3 { | ||||
|   margin: 40px 0 0; | ||||
| } | ||||
| ul { | ||||
|   list-style-type: none; | ||||
|   padding: 0; | ||||
| } | ||||
| li { | ||||
|   display: inline-block; | ||||
|   margin: 0 10px; | ||||
| } | ||||
| a { | ||||
|   color: #42b983; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										12
									
								
								src/main.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/main.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| import Vue from "vue"; | ||||
| import App from "./App.vue"; | ||||
| import router from "./router"; | ||||
| import store from "./store"; | ||||
|  | ||||
| Vue.config.productionTip = false; | ||||
|  | ||||
| new Vue({ | ||||
|   router, | ||||
|   store, | ||||
|   render: (h) => h(App), | ||||
| }).$mount("#app"); | ||||
							
								
								
									
										31
									
								
								src/router/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/router/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| import Vue from "vue"; | ||||
| import VueRouter from "vue-router"; | ||||
| import Home from "../views/Home.vue"; | ||||
|  | ||||
| Vue.use(VueRouter); | ||||
|  | ||||
| const routes = [ | ||||
|   { | ||||
|     path: "/", | ||||
|     name: "Home", | ||||
|     component: Home, | ||||
|   }, | ||||
|   { | ||||
|     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/About.vue"), | ||||
|   }, | ||||
| ]; | ||||
|  | ||||
| const router = new VueRouter({ | ||||
|   mode: "history", | ||||
|   // base: process.env.BASE_URL, | ||||
|   base: import.meta.env.BASE_URL, | ||||
|   routes, | ||||
| }); | ||||
|  | ||||
| export default router; | ||||
							
								
								
									
										11
									
								
								src/store/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/store/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| import Vue from "vue"; | ||||
| import Vuex from "vuex"; | ||||
|  | ||||
| Vue.use(Vuex); | ||||
|  | ||||
| export default new Vuex.Store({ | ||||
|   state: {}, | ||||
|   mutations: {}, | ||||
|   actions: {}, | ||||
|   modules: {}, | ||||
| }); | ||||
							
								
								
									
										5
									
								
								src/views/About.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/views/About.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| <template> | ||||
|   <div class="about"> | ||||
|     <h1>This is an about page</h1> | ||||
|   </div> | ||||
| </template> | ||||
							
								
								
									
										18
									
								
								src/views/Home.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/views/Home.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| <template> | ||||
|   <div class="home"> | ||||
|     <img alt="Vue logo" src="../assets/logo.png" /> | ||||
|     <HelloWorld msg="Welcome to Your Vue.js App" /> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <script> | ||||
| // @ is an alias to /src | ||||
| import HelloWorld from "@/components/HelloWorld.vue"; | ||||
|  | ||||
| export default { | ||||
|   name: "Home", | ||||
|   components: { | ||||
|     HelloWorld, | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
							
								
								
									
										16
									
								
								vite.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vite.config.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| import { createVuePlugin } from "vite-plugin-vue2"; | ||||
| import { defineConfig } from "vite"; | ||||
|  | ||||
| export default defineConfig({ | ||||
|   plugins: [ | ||||
|     createVuePlugin(), | ||||
|   ], | ||||
|   resolve: { | ||||
|     alias: [ | ||||
|       { | ||||
|         find: '@', | ||||
|         replacement: '/src', | ||||
|       }, | ||||
|     ], | ||||
|   }, | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user