Vue 是專注于構(gòu)建用戶界面層的漸進式 JavaScript 框架佩谣,它可以很方便地與各種中間件或者后端應(yīng)用程序集成使用把还。Vue 為我們構(gòu)建界面層提供了大量有用的工具,助我們構(gòu)建復雜的單頁應(yīng)用茸俭。Vue 的特性包括但不限于:
- 響應(yīng)式界面
- 聲明式路由
- 數(shù)據(jù)綁定
- 指令
- 組件
- 事件處理
- 屬性推斷
- 過濾
Vue2.5 核心庫大概只有 17KB吊履,非常小,這就保證了引入 Vue.js 并不會對你的編譯后的版本添加過多的代碼调鬓,加速網(wǎng)站的加載艇炎。Vue.js 的官方代碼位于:https://vuejs.org/。
image.png
安裝
Vue提供了兩種方式
- CND
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
- NPM
npm install vue
在用 Vue 構(gòu)建大型應(yīng)用時推薦使用 NPM 安裝腾窝。NPM 能很好地和諸如 webpack 或 Pracel模塊打包器配合使用缀踪。同時 Vue 也提供配套工具來開發(fā)單文件組件。
Vue-Cli
npm install -g @vue/cli
#or
yarn global add @vue/cli
vue create my-project
image.png
然后
cd my-project
npm run serve
image.png
該命令會啟動一個監(jiān)聽 8080 端口的開發(fā)服務(wù)器虹脯,在瀏覽器中打開該端口可以看到如下界面:
image.png
項目目錄結(jié)構(gòu)如下
image.png
文件index.html
包含如下代碼:
<!DOCTYPE html>
<html>
<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>my-project</title>
</head>
<body>
<noscript>
<strong>We're sorry but my-project 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>
該文件是程序的入口 <div id="app"></div>
是vue的插入點驴娃,插入點不能放在body
標簽外,也不能是body
標簽循集。
文件main.js
包含如下代碼:
import Vue from 'vue'
import App from './App.vue'
Vue.config.productionTip = false
new Vue({
render: h => h(App)
}).$mount('#app')
-
import Vue from 'vue'
引入Vue框架 -
import App from './App.vue'
App是程序的根元素 -
render: h => h(App)
渲染App根組件 -
$mount('#app')
指定掛載點
文件 App.vue
代碼如下:
<template>
<div id="app">
<img src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
name: 'app',
components: {
HelloWorld
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
一個Vue組件包含三個部分
- template html模板
- script 組件邏輯
- style 樣式