Vue完整項(xiàng)目構(gòu)建(進(jìn)階篇)
前置條件:
- 熟悉使用 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è)模塊,找出它們的依賴(lài)關(guān)系,將它們打包為可部署的靜態(tài)資源。webpack 的使用也需要 npm 的安裝方式)。
開(kāi)始安裝:
使用 vue-cli 構(gòu)建大型單頁(yè)應(yīng)用:vue.js 的腳手架工具。
執(zhí)行下述代碼,即可完成項(xiàng)目基礎(chǔ)構(gòu)建(已配置好 webpack、依賴(lài)包的安裝、基本目錄的生成)。
# 全局安裝 vue-cli $ npm install --global vue-cli # 創(chuàng)建一個(gè)基于 webpack 模板的新項(xiàng)目 $ vue init webpack my-project # 安裝依賴(lài),走你 $ 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安裝的依賴(lài)包 ├── 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)目的描述和依賴(lài)
package.json文件說(shuō)明:項(xiàng)目的描述和依賴(lài)
1. scripts:編譯項(xiàng)目的一些命令
例:執(zhí)行 npm run dev
,即執(zhí)行 scripts 中對(duì)應(yīng)的 node build/dev-server.js
。
2. dependencies:項(xiàng)目發(fā)布時(shí)的依賴(lài)
例:執(zhí)行 npm install wx --save
,即安裝依賴(lài)模塊 wx。
3. devDependencies:項(xiàng)目開(kāi)發(fā)時(shí)的依賴(lài)
例:執(zhí)行 npm install sass --save-dev
,即安裝依賴(lài)模塊 sass。
附:npm 相關(guān)說(shuō)明:
npm 為 Node.js 版本管理和依賴(lài)包管理工具,通過(guò) node 環(huán)境來(lái)安裝前端構(gòu)建項(xiàng)目所需依賴(lài)包。
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)了!
總結(jié)
以上所述是小編給大家介紹的Vue完整項(xiàng)目構(gòu)建,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue中img的src屬性綁定與static文件夾實(shí)例
本篇文章中主要介紹了Vue中img的src屬性綁定與static文件夾實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-05-05vue 根據(jù)數(shù)組中某一項(xiàng)的值進(jìn)行排序的方法
這篇文章主要介紹了vue 根據(jù)數(shù)組中某一項(xiàng)的值進(jìn)行排序的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08深入了解vue中一鍵復(fù)制功能的實(shí)現(xiàn)
在現(xiàn)代的Web應(yīng)用中,用戶(hù)體驗(yàn)至關(guān)重要,而提供簡(jiǎn)單易用的復(fù)制功能是改善用戶(hù)體驗(yàn)的一項(xiàng)關(guān)鍵功能,本文將為大家詳細(xì)介紹Vue實(shí)現(xiàn)一鍵復(fù)制功能的具體方法,需要的可以參考下2023-11-11簡(jiǎn)單實(shí)現(xiàn)vue中的依賴(lài)收集與響應(yīng)的方法
這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)vue中的依賴(lài)收集與響應(yīng)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02Vue?Mock.js介紹和使用與首頁(yè)導(dǎo)航欄左側(cè)菜單搭建過(guò)程
Mock.js是一個(gè)模擬數(shù)據(jù)的生成器,用來(lái)幫助前端調(diào)試開(kāi)發(fā)、進(jìn)行前后端的原型分離以及用來(lái)提高自動(dòng)化測(cè)試效率,這篇文章主要介紹了Vue?Mock.js介紹和使用與首頁(yè)導(dǎo)航欄左側(cè)菜單搭建,需要的朋友可以參考下2023-09-09ant-design-vue前端UI庫(kù),如何解決Table中時(shí)間格式化問(wèn)題
這篇文章主要介紹了ant-design-vue前端UI庫(kù),如何解決Table中時(shí)間格式化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03vue3.x源碼剖析之?dāng)?shù)據(jù)響應(yīng)式的深入講解
這篇文章主要給大家介紹了關(guān)于vue3.x源碼剖析之?dāng)?shù)據(jù)響應(yīng)式的相關(guān)資料,在講解過(guò)程中,我們會(huì)對(duì)比Vue2.x的API特性,使用有哪些區(qū)別,需要的朋友可以參考下2022-01-01