Vue腳手架的創(chuàng)建超詳解步驟
vue-cli腳手架
案例一:
案例二:
一、腳手架簡介
Vue腳手架是Vue官方提供的標(biāo)準(zhǔn)化開發(fā)工具(開發(fā)平臺(tái)),它提供命令行和UI界面,方便創(chuàng)建vue工程、配置第三方依賴、編譯vue工程
1. webpack
前端項(xiàng)目工程化的標(biāo)志之一就是引入了『編譯』環(huán)節(jié),而 webpack 就是最常見、最常用的前端項(xiàng)目編譯工具。
如果作類比的話,那么 npm + webpack ≈ maven
2、腳手架介紹
a、安裝vue-cli4
- 刪除已安裝的 vue-cli
npm uninstall -g @vue/cli
- 先安裝淘寶鏡
npm config set registry https://registry.npm.taobao.org
安裝cli
npm install -g @vue/cli
安裝結(jié)束后,你可以通過 vue --version 或 vue -V 查看 vue-cli 的版本信息
b、配置vue環(huán)境變量
把這個(gè)路徑配到path里
3、創(chuàng)建vue-cli4項(xiàng)目
3.1、第一步
使用如下命令開始創(chuàng)建 vue 項(xiàng)目
vue create 項(xiàng)目名
你會(huì)看到如下內(nèi)容:
第一項(xiàng)和第二項(xiàng)(
default ...
)表示的是使用默認(rèn)配置創(chuàng)建 vue 項(xiàng)目。第三項(xiàng)(
Manually ...
)表示手動(dòng)對 vue 項(xiàng)目的各方面進(jìn)行設(shè)置
3.2、第二步
在上一步選中第二項(xiàng)后,你會(huì)看到如下界面:
對于每一項(xiàng)的功能,此處做個(gè)簡單描述:
Babel:支持使用 babel 做轉(zhuǎn)義。
TypeScript:支持使用 TypeScript 書寫源碼。
Progressive Web App (PWA) Support PWA:支持。
Router:支持 vue-router。
Vuex:支持 vuex。
CSS Pre-processors:支持 CSS 預(yù)處理器。
Linter / Formatter:支持代碼風(fēng)格檢查和格式化。
Unit Testing:支持單元測試。
E2E Testing: 支持 E2E 測試。
3.3、第三步
選擇vue版本為2,不要選3,不要選3
3.4、第四步
如果在功能選擇界面中選中了 Router,那么我們接下來會(huì)看到如下界面(如果功能界面沒有選擇 Router,就會(huì)跳過這個(gè)界面):
在這個(gè)界面中,vue-cli 在詢問你,對于 Router 你是否以它的 history 模式使用它?默認(rèn)值是 Yes
。
如果不使用 Router 的 history 模式,那自然就是 hash 模式。這里我們輸入 n
,表示使用 Router 的 hash 模式。
3.5、第五步
在設(shè)置完你所要使用的各個(gè)功能的設(shè)置之后(例如,上面的 Router 的 history / hash 模式的設(shè)置), 我們會(huì)看到下面界面:
在這個(gè)界面中,vue-cli 是在詢問你:是將所有的配置都放在 pacakge.json 一個(gè)文件中,還是將各個(gè)功能的配置分開存放在獨(dú)立的文件中?
選擇第一項(xiàng):分開存放。
3.6、第六步
這是 vue-cli 創(chuàng)建 vue 項(xiàng)目的最后一個(gè)界面:
在這里,vue-cli 是在詢問你:是否將你的這些設(shè)置保留下來作為默認(rèn)的項(xiàng)目設(shè)置的模板。默認(rèn)值是 N
。
我們輸入 N
,或者直接按回車確認(rèn)進(jìn)入安裝界面:
3.7、第七步
在控制臺(tái)中輸入:npm run serve 啟動(dòng)項(xiàng)目
三、項(xiàng)目結(jié)構(gòu)說明
1、項(xiàng)目結(jié)構(gòu)
項(xiàng)目目錄說明:
# | 說明 |
---|---|
node_modules 目錄 | 項(xiàng)目所依賴的包的存放目錄(封裝webpack 依賴包) |
public 目錄 | 存放項(xiàng)目所需的靜態(tài)資源文件目錄 |
src 目錄 | 存放項(xiàng)目的源碼文件的目錄 |
babel.config.js 文件 | babel 配置文件 |
package.json 文件 | 整個(gè)項(xiàng)目的配置文件 |
src/main.js 文件 | 整個(gè)項(xiàng)目的入口文件,并且在這里引入全局使用的 .vue、.css 文件 |
2、src目錄說明
assets 靜態(tài)資源 (css、 js 、 image 、字體圖標(biāo))
views 放置組件頁面
components 放置組件頁面中嵌套的組件
App.vue 根組件 => 指定路由出口
- 腳手架之后,所有的組件都將渲染到 app.vue 中
app 中的 #app 還是 index.html 中的 #app, app.vue 中的會(huì)覆蓋前者,可以通過分別添加 title 屬性驗(yàn)證一下
路由出口要寫在 app.vue 組件模板中
main.js
入口 js 文件
作用 : 創(chuàng)建 vue 實(shí)例,導(dǎo)入其他組件并掛在到 vue 實(shí)例上
Vue.config.productionTip = false
不要打印提示檢測 no new : 見后面的檢測警告
new Vue({ el: '#app', // 目標(biāo)顯示 router, // 掛載路由 components: { App }, // 注冊組件 App template: '<App/>' // 模板顯示組件 app })
3、單文件組件
在 vue-cli 創(chuàng)建的 vue 項(xiàng)目中,我們看到有一類后綴名為 .vue 的文件,我們稱為『單文件組件』。
單文件組件的組成結(jié)構(gòu)分三部分:
- template 組件的模板區(qū)域
- script 業(yè)務(wù)邏輯區(qū)域
- style 樣式區(qū)域
例如:
<template> <!-- 這里用于定義 Vue 組件的模板內(nèi)容 --> </template> <script> // 這里用于定義 Vue 組件的業(yè)務(wù)邏輯 export default { data(){ return { // 私有數(shù)據(jù) } }, methods: { } // 處理函數(shù) ,created(){ } } </script> <style scoped> /* 這里用于定義組件的樣式 */ </style>
4、vue.config.js 文件
默認(rèn)情況下通過 serve
命令運(yùn)行項(xiàng)目會(huì)占用 8080
端口,在 vue.config.js
的文件加入如下配置修改端口號:
module.exports = { devServer: { port: 8888 } }
四、安裝axios包
1、安裝axios
安裝方式
使用 npm 命令安裝 npm install axios
2、vue-cli 中main.js引入并使用 axios
import axios from 'axios' Vue.prototype.$axios = axios
五、VUE-CLI解決跨域問題
vue-cli 解決開發(fā)過程中的跨域問題是利用到了 webpack 在開發(fā)環(huán)境中所提供的代理服務(wù)器(http-proxy-middleware)。
前端的 ajax 請求并不是直接發(fā)給后臺(tái)服務(wù)器,而是發(fā)給了代理服務(wù)器,再由代理服務(wù)器轉(zhuǎn)發(fā)給后臺(tái)服務(wù)器;返回?cái)?shù)據(jù)的時(shí)候,同樣也是由代理服務(wù)器接收到后臺(tái)服務(wù)器的返回,然后代理服務(wù)器再將返回結(jié)果轉(zhuǎn)發(fā)給前端。
在vue-cli項(xiàng)目的根目錄vue.config.js,添加如下代碼
module.exports = { transpileDependencies: true, devServer: { port: 8888, //vue項(xiàng)目訪問端口 proxy: { "/api": { // 1 target: 'http://127.0.0.1:8080', // 2 changeOrigin: true, // 3 pathRewrite: { '^/api': '/' // 4 } } } } }
配置說明
1、所有以 /api 開頭的請求都要求代理服務(wù)器進(jìn)行轉(zhuǎn)發(fā)。
2、要求代理服務(wù)器(vue 的 http-proxy-middleware)將我們發(fā)給它的請求轉(zhuǎn)發(fā)到 xxx 地址,即,真實(shí)的后臺(tái)服務(wù)器的根路徑。這里需要注意的一點(diǎn)是,這里必須加上 http:// 前綴。
3、是否是跨域請求?這基本上肯定是廢話,不跨域就沒有必要配置這個(gè) proxy 了。
4、代理服務(wù)器轉(zhuǎn)發(fā)時(shí)是否需要改寫 URI,以及如何改寫。
總結(jié)
到此這篇關(guān)于Vue腳手架創(chuàng)建的文章就介紹到這了,更多相關(guān)Vue腳手架創(chuàng)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sublime如何配置開發(fā)VUE環(huán)境自動(dòng)格式化代碼
這篇文章主要介紹了sublime如何配置開發(fā)VUE環(huán)境自動(dòng)格式化代碼問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03搭建Vue從Vue-cli到router路由護(hù)衛(wèi)的實(shí)現(xiàn)
這篇文章主要介紹了搭建Vue從Vue-cli到router路由護(hù)衛(wèi)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Vue3之列表動(dòng)畫和狀態(tài)動(dòng)畫示例詳解
這篇文章主要為大家介紹了Vue3之列表動(dòng)畫和狀態(tài)動(dòng)畫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04vue中eslint導(dǎo)致的報(bào)錯(cuò)問題及解決
這篇文章主要介紹了vue中eslint導(dǎo)致的報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10vue如何實(shí)現(xiàn)對請求參數(shù)進(jìn)行簽名
這篇文章主要介紹了vue如何實(shí)現(xiàn)對請求參數(shù)進(jìn)行簽名問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01iView UI FORM 動(dòng)態(tài)添加表單項(xiàng)校驗(yàn)規(guī)則寫法實(shí)例
這篇文章主要為大家介紹了iView UI FORM 動(dòng)態(tài)添加表單項(xiàng)校驗(yàn)規(guī)則寫法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01vue3.0中的雙向數(shù)據(jù)綁定方法及優(yōu)缺點(diǎn)
這篇文章主要介紹了vue3.0中的雙向數(shù)據(jù)綁定方法 ,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08elementUI同一頁面展示多個(gè)Dialog的實(shí)現(xiàn)
這篇文章主要介紹了elementUI同一頁面展示多個(gè)Dialog的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11