├── .npmrc
├── public
├── favicon.ico
└── index.html
├── src
├── assets
│ └── logo.png
├── views
│ ├── AboutView.vue
│ └── HomeView.vue
├── main.js
├── App.vue
├── router
│ └── index.js
└── components
│ └── HelloWorld.vue
├── babel.config.js
├── vue.config.js
├── .gitignore
├── jsconfig.json
├── README.md
├── template
├── router.js.hbs
└── App.vue.hbs
└── package.json
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/su37josephxia/vue-template/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/su37josephxia/vue-template/HEAD/src/assets/logo.png
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/src/views/AboutView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
This is an about page
4 |
5 |
6 |
--------------------------------------------------------------------------------
/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | module.exports = defineConfig({
3 | transpileDependencies: true
4 | })
5 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 |
5 | createApp(App).use(router).mount('#app')
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "baseUrl": "./",
6 | "moduleResolution": "node",
7 | "paths": {
8 | "@/*": [
9 | "src/*"
10 | ]
11 | },
12 | "lib": [
13 | "esnext",
14 | "dom",
15 | "dom.iterable",
16 | "scripthost"
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/views/HomeView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 |
7 |
8 |
19 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # hello-vue
2 |
3 | ## Project setup
4 | ```
5 | pnpm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | pnpm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | pnpm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | pnpm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/template/router.js.hbs:
--------------------------------------------------------------------------------
1 | import { createRouter, createWebHashHistory } from 'vue-router'
2 | import HomeView from '../views/HomeView.vue'
3 |
4 | const routes = [
5 | {
6 | path: '/',
7 | name: 'home',
8 | component: HomeView
9 | },
10 | {{#each list}}
11 | {
12 | path: '/{{name}}',
13 | name: '{{name}}',
14 | component: () => import('../views/{{file}}')
15 | },
16 | {{/each}}
17 | ]
18 |
19 | const router = createRouter({
20 | history: createWebHashHistory(),
21 | routes
22 | })
23 |
24 | export default router
25 |
26 |
--------------------------------------------------------------------------------
/template/App.vue.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Home
5 | {{#each list}}
6 | | {{name}}
7 | {{/each}}
8 |
9 |
10 |
11 |
12 |
13 |
23 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
31 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import { createRouter, createWebHashHistory } from 'vue-router'
2 | import HomeView from '../views/HomeView.vue'
3 |
4 | const routes = [
5 | {
6 | path: '/',
7 | name: 'home',
8 | component: HomeView
9 | },
10 | {
11 | path: '/about',
12 | name: 'about',
13 | // route level code-splitting
14 | // this generates a separate chunk (about.[hash].js) for this route
15 | // which is lazy-loaded when the route is visited.
16 | component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
17 | }
18 | ]
19 |
20 | const router = createRouter({
21 | history: createWebHashHistory(),
22 | routes
23 | })
24 |
25 | export default router
26 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "hello-vue",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.8.3",
12 | "vue": "^3.2.13",
13 | "vue-router": "^4.0.3"
14 | },
15 | "devDependencies": {
16 | "@babel/core": "^7.12.16",
17 | "@babel/eslint-parser": "^7.12.16",
18 | "@vue/cli-plugin-babel": "~5.0.0",
19 | "@vue/cli-plugin-eslint": "~5.0.0",
20 | "@vue/cli-plugin-router": "~5.0.0",
21 | "@vue/cli-service": "~5.0.0",
22 | "eslint": "^7.32.0",
23 | "eslint-plugin-vue": "^8.0.3"
24 | },
25 | "eslintConfig": {
26 | "root": true,
27 | "env": {
28 | "node": true
29 | },
30 | "extends": [
31 | "plugin:vue/vue3-essential",
32 | "eslint:recommended"
33 | ],
34 | "parserOptions": {
35 | "parser": "@babel/eslint-parser"
36 | },
37 | "rules": {}
38 | },
39 | "browserslist": [
40 | "> 1%",
41 | "last 2 versions",
42 | "not dead",
43 | "not ie 11"
44 | ]
45 | }
46 |
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation.
8 |
9 |
Installed CLI Plugins
10 |
14 |
Essential Links
15 |
22 |
Ecosystem
23 |
30 |
31 |
32 |
33 |
41 |
42 |
43 |
59 |
--------------------------------------------------------------------------------