@@ -0,0 +1,3 @@ | |||
> 1% | |||
last 2 versions | |||
not dead |
@@ -0,0 +1,5 @@ | |||
[*.{js,jsx,ts,tsx,vue}] | |||
indent_style = space | |||
indent_size = 2 | |||
trim_trailing_whitespace = true | |||
insert_final_newline = true |
@@ -0,0 +1,17 @@ | |||
module.exports = { | |||
root: true, | |||
env: { | |||
node: true | |||
}, | |||
extends: [ | |||
'plugin:vue/essential', | |||
'@vue/standard' | |||
], | |||
parserOptions: { | |||
parser: '@babel/eslint-parser' | |||
}, | |||
rules: { | |||
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', | |||
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' | |||
} | |||
} |
@@ -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? |
@@ -0,0 +1,24 @@ | |||
# health_students_web | |||
## Project setup | |||
``` | |||
npm install | |||
``` | |||
### Compiles and hot-reloads for development | |||
``` | |||
npm run serve | |||
``` | |||
### Compiles and minifies for production | |||
``` | |||
npm run build | |||
``` | |||
### Lints and fixes files | |||
``` | |||
npm run lint | |||
``` | |||
### Customize configuration | |||
See [Configuration Reference](https://cli.vuejs.org/config/). |
@@ -0,0 +1,5 @@ | |||
module.exports = { | |||
presets: [ | |||
'@vue/cli-plugin-babel/preset' | |||
] | |||
} |
@@ -0,0 +1,19 @@ | |||
{ | |||
"compilerOptions": { | |||
"target": "es5", | |||
"module": "esnext", | |||
"baseUrl": "./", | |||
"moduleResolution": "node", | |||
"paths": { | |||
"@/*": [ | |||
"src/*" | |||
] | |||
}, | |||
"lib": [ | |||
"esnext", | |||
"dom", | |||
"dom.iterable", | |||
"scripthost" | |||
] | |||
} | |||
} |
@@ -0,0 +1,3 @@ | |||
module.exports = { | |||
'*.{js,jsx,vue}': 'vue-cli-service lint' | |||
} |
@@ -0,0 +1,38 @@ | |||
{ | |||
"name": "health_students_web", | |||
"version": "0.1.0", | |||
"private": true, | |||
"scripts": { | |||
"serve": "vue-cli-service serve", | |||
"build": "vue-cli-service build", | |||
"lint": "vue-cli-service lint" | |||
}, | |||
"dependencies": { | |||
"core-js": "^3.8.3", | |||
"vue": "^2.6.14", | |||
"vue-router": "^3.5.1", | |||
"vuex": "^3.6.2" | |||
}, | |||
"devDependencies": { | |||
"@babel/core": "^7.12.16", | |||
"@babel/eslint-parser": "^7.12.16", | |||
"@vue/cli-plugin-babel": "~5.0.0", | |||
"@vue/cli-plugin-eslint": "~5.0.0", | |||
"@vue/cli-plugin-router": "~5.0.0", | |||
"@vue/cli-plugin-vuex": "~5.0.0", | |||
"@vue/cli-service": "~5.0.0", | |||
"@vue/eslint-config-standard": "^6.1.0", | |||
"eslint": "^7.32.0", | |||
"eslint-plugin-import": "^2.25.3", | |||
"eslint-plugin-node": "^11.1.0", | |||
"eslint-plugin-promise": "^5.1.0", | |||
"eslint-plugin-vue": "^8.0.3", | |||
"lint-staged": "^11.1.2", | |||
"sass": "^1.32.7", | |||
"sass-loader": "^12.0.0", | |||
"vue-template-compiler": "^2.6.14" | |||
}, | |||
"gitHooks": { | |||
"pre-commit": "lint-staged" | |||
} | |||
} |
@@ -0,0 +1,17 @@ | |||
<!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="<%= BASE_URL %>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 --> | |||
</body> | |||
</html> |
@@ -0,0 +1,32 @@ | |||
<template> | |||
<div id="app"> | |||
<nav> | |||
<router-link to="/">Home</router-link> | | |||
<router-link to="/about">About</router-link> | |||
</nav> | |||
<router-view/> | |||
</div> | |||
</template> | |||
<style lang="scss"> | |||
#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> |
@@ -0,0 +1,60 @@ | |||
<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="scss"> | |||
h3 { | |||
margin: 40px 0 0; | |||
} | |||
ul { | |||
list-style-type: none; | |||
padding: 0; | |||
} | |||
li { | |||
display: inline-block; | |||
margin: 0 10px; | |||
} | |||
a { | |||
color: #42b983; | |||
} | |||
</style> |
@@ -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') |
@@ -0,0 +1,27 @@ | |||
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 | |||
}, | |||
{ | |||
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') | |||
} | |||
] | |||
const router = new VueRouter({ | |||
routes | |||
}) | |||
export default router |
@@ -0,0 +1,17 @@ | |||
import Vue from 'vue' | |||
import Vuex from 'vuex' | |||
Vue.use(Vuex) | |||
export default new Vuex.Store({ | |||
state: { | |||
}, | |||
getters: { | |||
}, | |||
mutations: { | |||
}, | |||
actions: { | |||
}, | |||
modules: { | |||
} | |||
}) |
@@ -0,0 +1,5 @@ | |||
<template> | |||
<div class="about"> | |||
<h1>This is an about page</h1> | |||
</div> | |||
</template> |
@@ -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: 'HomeView', | |||
components: { | |||
HelloWorld | |||
} | |||
} | |||
</script> |
@@ -0,0 +1,4 @@ | |||
const { defineConfig } = require('@vue/cli-service') | |||
module.exports = defineConfig({ | |||
transpileDependencies: true | |||
}) |