使用 vue.js 構(gòu)建大型單頁(yè)應(yīng)用
前置條件:
熟悉使用 Javascript + HTML5 + css3。
理解 ES2015 Module 模塊(export、import、export-default)。
了解 nodejs 基礎(chǔ)知識(shí),npm 常用命令,以及 npm script 使用 (vue 項(xiàng)目中使用 npm 進(jìn)行包管理)。
了解 webpack 打包工具 (常用配置選項(xiàng)以及 loader 概念)。(webpack webpack.github.io/ 是一個(gè)模塊打包工具。它將一堆文件中的每個(gè)文件都作為一個(gè)模塊,找出它們的依賴關(guān)系,將它們打包為可部署的靜態(tài)資源。webpack 的使用也需要 npm 的安裝方式)。
開(kāi)始安裝:
使用 vue-cli 構(gòu)建大型單頁(yè)應(yīng)用:vue.js 的腳手架工具。
執(zhí)行下述代碼,即可完成項(xiàng)目基礎(chǔ)構(gòu)建(已配置好 webpack、依賴包的安裝、基本目錄的生成)。
# 全局安裝 vue-cli $ npm install --global vue-cli # 創(chuàng)建一個(gè)基于 webpack 模板的新項(xiàng)目 $ vue init webpack my-project # 安裝依賴,走你 $ cd my-project $ npm install $ npm run dev
主要目錄:
├── build // webpack的基本配置、開(kāi)發(fā)環(huán)境配置、生產(chǎn)環(huán)境配置
├── config // 路徑、端口以及反向代理配置
├── dist // webpack打包后的靜態(tài)資源
├── node_modules // npm安裝的依賴包
├── src // 前端主文件
│ ├── assets // 靜態(tài)資源
│ │ ├── font
│ │ ├── img
│ │ └── scss
│ ├── components // 單個(gè)組件
│ │ ├── xxx.vue // 單文件組件
│ ├── router // 路由配置
│ ├── store // 全局變量
│ ├── App.vue // App組件
│ ├── main.js 主入口文件
├── static // 靜態(tài)文件
├── .babelrc // babel的配置項(xiàng)
├── .editorconfig // 編輯器的配置項(xiàng)
├── .gitignore // 會(huì)忽略語(yǔ)法檢查的目錄
├── index.html // 入口頁(yè)面
├── package.json // 項(xiàng)目的描述和依賴
package.json文件說(shuō)明:項(xiàng)目的描述和依賴
1. scripts:編譯項(xiàng)目的一些命令
例:執(zhí)行 npm run dev ,即執(zhí)行 scripts 中對(duì)應(yīng)的 node build/dev-server.js。
2. dependencies:項(xiàng)目發(fā)布時(shí)的依賴
例:執(zhí)行 npm install wx --save ,即安裝依賴模塊 wx。
3. devDependencies:項(xiàng)目開(kāi)發(fā)時(shí)的依賴
例:執(zhí)行 npm install sass --save-dev ,即安裝依賴模塊 sass。
附:npm 相關(guān)說(shuō)明:
npm 為 Node.js 版本管理和依賴包管理工具,通過(guò) node 環(huán)境來(lái)安裝前端構(gòu)建項(xiàng)目所需依賴包。
npm 安裝下載速度過(guò)慢,使用淘寶鏡像 cnpm install 快速安裝。設(shè)置方法:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
項(xiàng)目加載過(guò)程:

1. index.html 頁(yè)面
當(dāng)前構(gòu)建項(xiàng)目為 SPA (單頁(yè)面應(yīng)用),index.html 頁(yè)面即為入口頁(yè)面,進(jìn)行meta 等相關(guān)頁(yè)面配置。
該頁(yè)面的 <div id="app"></div> 掛載了主組件。
2. main.js:主入口文件
注: 在 webpack.base.config 中設(shè)置 -> entry: { app: './src/main.js'}
該文件初始化 vue 實(shí)例并引入相應(yīng)模塊 (引入前需確認(rèn)在 package.json 中進(jìn)行配置并安裝),附 main.js 引入及說(shuō)明:
import Vue from 'vue' // 引入vue
import App from './App' // 引入主組件App.vue
import router from './router' // 引入路由配置文件
import axios from 'axios' // 引入網(wǎng)絡(luò)請(qǐng)求工具axios
3. App.vue:主組件
在 index.html 入口頁(yè)面中掛載了主組件,并在 main.js 主入口文件中引入了主組件。
創(chuàng)建了其他組件 (例: /src/components/xxx.vue )后,通過(guò)路由配置即可渲染在當(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 實(shí)例,然后傳 `routes` 配置
// 每個(gè)路由應(yīng)該映射一個(gè)組件。
var router = {}export default router = new Router({
routes: [
{
path: '/',
name: 'home',
component: Home
}
]
})// 3. 在main.js主入口文件中創(chuàng)建和掛載根實(shí)例。
// 記得要通過(guò) router 配置參數(shù)注入路由,
// 從而讓整個(gè)應(yīng)用都有路由功能new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})// 現(xiàn)在,應(yīng)用已經(jīng)啟動(dòng)了!
- vue.js的手腳架vue-cli項(xiàng)目搭建的步驟
- vue.js學(xué)習(xí)之vue-cli定制腳手架詳解
- 詳解如何使用vue-cli腳手架搭建Vue.js項(xiàng)目
- vue.js之vue-cli腳手架的搭建詳解
- vue-cli入門之項(xiàng)目結(jié)構(gòu)分析
- Vue學(xué)習(xí)筆記進(jìn)階篇之vue-cli安裝及介紹
- 深入理解Vue-cli搭建項(xiàng)目后的目錄結(jié)構(gòu)探秘
- 詳解vue-cli本地環(huán)境API代理設(shè)置和解決跨域
- 詳解vue-cli快速構(gòu)建項(xiàng)目以及引入bootstrap、jq
相關(guān)文章
vue單向以及雙向數(shù)據(jù)綁定方式(v-bind和v-model的使用)
這篇文章主要介紹了vue單向以及雙向數(shù)據(jù)綁定方式(v-bind和v-model的使用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Vue項(xiàng)目Element表格對(duì)應(yīng)字段映射顯示方法:formatter格式化數(shù)據(jù)問(wèn)題
這篇文章主要介紹了Vue項(xiàng)目Element表格對(duì)應(yīng)字段映射顯示方法:formatter格式化數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Vue中使用Openlayer實(shí)現(xiàn)加載動(dòng)畫(huà)效果
這篇文章主要介紹了Vue+Openlayer加載動(dòng)畫(huà)效果的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
vue 調(diào)用 RESTful風(fēng)格接口操作
這篇文章主要介紹了vue 調(diào)用 RESTful風(fēng)格接口操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
vue-element-admin登錄攔截設(shè)置白名單方式
這篇文章主要介紹了vue-element-admin登錄攔截設(shè)置白名單方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
element-ui帶輸入建議的input框踩坑(輸入建議空白以及會(huì)閃出上一次的輸入建議問(wèn)題)
這篇文章主要介紹了element-ui帶輸入建議的input框踩坑(輸入建議空白以及會(huì)閃出上一次的輸入建議問(wèn)題),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Vue3?源碼分析reactive?readonly實(shí)例
這篇文章主要為大家介紹了Vue3?源碼分析reactive?readonly實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10

