Vue完整項目構(gòu)建(進階篇)
前置條件:
- 熟悉使用 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)模塊 (引入前需確認在 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)啟動了!
總結(jié)
以上所述是小編給大家介紹的Vue完整項目構(gòu)建,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue中echarts的用法及與elementui-select的協(xié)同綁定操作
這篇文章主要介紹了vue中echarts的用法及與elementui-select的協(xié)同綁定操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Vue-cli3中如何引入ECharts并實現(xiàn)自適應(yīng)
這篇文章主要介紹了Vue-cli3中如何引入ECharts并實現(xiàn)自適應(yīng),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Vue3響應(yīng)式高階用法之markRaw()的使用
在Vue3中,markRaw()用于防止對象被轉(zhuǎn)換為響應(yīng)式,適用于管理大型庫對象或靜態(tài)數(shù)據(jù),有助于優(yōu)化性能和防止不必要的修改,本文就來詳細的介紹一下,感興趣的可以了解一下2024-09-09
Vue中splice()方法對數(shù)組進行增刪改等操作的實現(xiàn)
vue中對數(shù)組的元素進行刪除,以前一直以為這個方法是vue中特有的,后來百度之后才知道原來是js的一個寫法,下面這篇文章主要給大家介紹了關(guān)于Vue中splice()方法對數(shù)組進行增刪改等操作的實現(xiàn)方法,需要的朋友可以參考下2023-05-05
Vue源碼學(xué)習(xí)之?dāng)?shù)據(jù)初始化
這篇文章主要為大家介紹了Vue源碼學(xué)習(xí)之?dāng)?shù)據(jù)初始化實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Vue路由對象屬性 .meta $route.matched詳解
今天小編就為大家分享一篇Vue路由對象屬性 .meta $route.matched詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

