使用 vue.js 構(gòu)建大型單頁應(yīng)用
前置條件:
熟悉使用 Javascript + HTML5 + css3。
理解 ES2015 Module 模塊(export、import、export-default)。
了解 nodejs 基礎(chǔ)知識,npm 常用命令,以及 npm script 使用 (vue 項目中使用 npm 進行包管理)。
了解 webpack 打包工具 (常用配置選項以及 loader 概念)。(webpack webpack.github.io/ 是一個模塊打包工具。它將一堆文件中的每個文件都作為一個模塊,找出它們的依賴關(guān)系,將它們打包為可部署的靜態(tài)資源。webpack 的使用也需要 npm 的安裝方式)。
開始安裝:
使用 vue-cli 構(gòu)建大型單頁應(yīng)用:vue.js 的腳手架工具。
執(zhí)行下述代碼,即可完成項目基礎(chǔ)構(gòu)建(已配置好 webpack、依賴包的安裝、基本目錄的生成)。
# 全局安裝 vue-cli $ npm install --global vue-cli # 創(chuàng)建一個基于 webpack 模板的新項目 $ vue init webpack my-project # 安裝依賴,走你 $ cd my-project $ npm install $ npm run dev
主要目錄:
├── build // webpack的基本配置、開發(fā)環(huán)境配置、生產(chǎn)環(huán)境配置
├── config // 路徑、端口以及反向代理配置
├── dist // webpack打包后的靜態(tài)資源
├── node_modules // npm安裝的依賴包
├── src // 前端主文件
│ ├── assets // 靜態(tài)資源
│ │ ├── font
│ │ ├── img
│ │ └── scss
│ ├── components // 單個組件
│ │ ├── xxx.vue // 單文件組件
│ ├── router // 路由配置
│ ├── store // 全局變量
│ ├── App.vue // App組件
│ ├── main.js 主入口文件
├── static // 靜態(tài)文件
├── .babelrc // babel的配置項
├── .editorconfig // 編輯器的配置項
├── .gitignore // 會忽略語法檢查的目錄
├── index.html // 入口頁面
├── package.json // 項目的描述和依賴
package.json文件說明:項目的描述和依賴
1. scripts:編譯項目的一些命令
例:執(zhí)行 npm run dev ,即執(zhí)行 scripts 中對應(yīng)的 node build/dev-server.js。
2. dependencies:項目發(fā)布時的依賴
例:執(zhí)行 npm install wx --save ,即安裝依賴模塊 wx。
3. devDependencies:項目開發(fā)時的依賴
例:執(zhí)行 npm install sass --save-dev ,即安裝依賴模塊 sass。
附:npm 相關(guān)說明:
npm 為 Node.js 版本管理和依賴包管理工具,通過 node 環(huán)境來安裝前端構(gòu)建項目所需依賴包。
npm 安裝下載速度過慢,使用淘寶鏡像 cnpm install 快速安裝。設(shè)置方法:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
項目加載過程:
1. index.html 頁面
當(dāng)前構(gòu)建項目為 SPA (單頁面應(yīng)用),index.html 頁面即為入口頁面,進行meta 等相關(guān)頁面配置。
該頁面的 <div id="app"></div> 掛載了主組件。
2. main.js:主入口文件
注: 在 webpack.base.config 中設(shè)置 -> entry: { app: './src/main.js'}
該文件初始化 vue 實例并引入相應(yīng)模塊 (引入前需確認(rèn)在 package.json 中進行配置并安裝),附 main.js 引入及說明:
import Vue from 'vue' // 引入vue
import App from './App' // 引入主組件App.vue
import router from './router' // 引入路由配置文件
import axios from 'axios' // 引入網(wǎng)絡(luò)請求工具axios
3. App.vue:主組件
在 index.html 入口頁面中掛載了主組件,并在 main.js 主入口文件中引入了主組件。
創(chuàng)建了其他組件 (例: /src/components/xxx.vue )后,通過路由配置即可渲染在當(dāng)前主組件中。
4. 路由配置 vue-router
路由配置:將組件 (components) 映射到路由 (routes),然后告訴 vue-router 在哪里渲染它們
npm install vue-router
import Vue from 'vue'import Router from 'vue-router'
Vue.use(Router)
// 1.定義(路由)組件:import (當(dāng)前應(yīng)用中為單文件組件)。
import Home from '../components/Home.vue'// 2. 定義路由并創(chuàng)建 router 實例,然后傳 `routes` 配置
// 每個路由應(yīng)該映射一個組件。
var router = {}export default router = new Router({
routes: [
{
path: '/',
name: 'home',
component: Home
}
]
})// 3. 在main.js主入口文件中創(chuàng)建和掛載根實例。
// 記得要通過 router 配置參數(shù)注入路由,
// 從而讓整個應(yīng)用都有路由功能new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})// 現(xiàn)在,應(yīng)用已經(jīng)啟動了!
相關(guān)文章
vue單向以及雙向數(shù)據(jù)綁定方式(v-bind和v-model的使用)
這篇文章主要介紹了vue單向以及雙向數(shù)據(jù)綁定方式(v-bind和v-model的使用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Vue項目Element表格對應(yīng)字段映射顯示方法:formatter格式化數(shù)據(jù)問題
這篇文章主要介紹了Vue項目Element表格對應(yīng)字段映射顯示方法:formatter格式化數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07vue 調(diào)用 RESTful風(fēng)格接口操作
這篇文章主要介紹了vue 調(diào)用 RESTful風(fēng)格接口操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08vue-element-admin登錄攔截設(shè)置白名單方式
這篇文章主要介紹了vue-element-admin登錄攔截設(shè)置白名單方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03element-ui帶輸入建議的input框踩坑(輸入建議空白以及會閃出上一次的輸入建議問題)
這篇文章主要介紹了element-ui帶輸入建議的input框踩坑(輸入建議空白以及會閃出上一次的輸入建議問題),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01