vue-cli基礎(chǔ)配置及webpack配置修改的完整步驟
腳手架
腳手架幫我們幫我們把 webpack 等相關(guān)的配置都處理好,我們只需要基于腳手架快速構(gòu)建一個(gè)項(xiàng)目即可(項(xiàng)目中一定包含webpack的相關(guān)配置)
vue腳手架 vue-cli
我們使用任何東西第一步都是安裝
1.安裝腳手架(一般安裝在全局)
//=>用npm安裝 $npm install @vue/cli -g //=>用yarn安裝 $yarn global add @vue/cli
安裝成功后,全局環(huán)境會(huì)生成 $vue 的可執(zhí)行命令,我們可以基于 $vue --version 來查看版本號(hào),看是否安裝成功
2.創(chuàng)建工程化項(xiàng)目
$vue create [項(xiàng)目名稱](要遵循npm包的名稱規(guī)范:數(shù)字或者小寫字母)

第一項(xiàng)是我之前創(chuàng)建保存的配置,如果是第一次創(chuàng)建就有第二項(xiàng)和第三項(xiàng)
- default (babel,eslint) :選擇默認(rèn)配置項(xiàng)(后期自己安裝需要的模塊和進(jìn)行配置)
- Manually select features :手動(dòng)選擇配置項(xiàng)
如果選擇默認(rèn)這篇文章就沒有意義了,我們選擇手動(dòng)選擇配置項(xiàng)

這里選擇腳手架里的webpack配置,空格鍵是選擇,我選擇了以上這些項(xiàng),如果有需要自行添減
- babel(babel-preset-vue-app):babel-preset-env最新的ECMAScript功能、轉(zhuǎn)換Vue JSX轉(zhuǎn)換generator和async/await等
- Router :Vue官方的路由管理器
- Vuex :Vue中實(shí)現(xiàn)公共狀態(tài)管理的插件 (處理組件之間的信息通信)
- Css Pre-processors :CSS 預(yù)處理器(SASS/LESS/Stylus)
- Linter / Formatter :eslint 語法檢測(cè)
- Unit Testing :?jiǎn)卧獪y(cè)試
- E2E Testing :端到端測(cè)試

是否使用路由器的歷史模式,選擇Y;選擇哪個(gè)CSS 預(yù)處理語言的配置規(guī)則,我用的是less根據(jù)自己需要選擇

選擇自動(dòng)化代碼格式化檢測(cè),我用的 vscode 選的 ESLint+Prettier

選擇第一個(gè)可以保存配置方便下次使用

- 第一個(gè)選項(xiàng)是把配置信息放到一個(gè)單獨(dú)的文件
- 第二項(xiàng)是放到package.json里
創(chuàng)建后的項(xiàng)目目錄

src :項(xiàng)目開發(fā)源文件
- main.js :打包編譯的入口文件
- App.vue :項(xiàng)目頁面的入口文件
- components :存放當(dāng)前項(xiàng)目的公共組件
- xxx.vue
- assets :一般存放項(xiàng)目中需要引入的靜態(tài)資源文件
- xxx.png
- xxx.css
public
- index.html :當(dāng)前項(xiàng)目的主頁面,我們最后把所有在src中寫的內(nèi)容,通過webpack、vue編譯渲染,最后呈現(xiàn)在index.html中的#app容器中
- xxx.xx :有些時(shí)候我們的某些資源可能要單獨(dú)在index.html就引用了,將它放在此文件夾下,但是開發(fā)時(shí)除了這樣的資源,其余的都建議放在src文件夾中
開發(fā)模式下我們基于下面這個(gè)命令,啟動(dòng)一個(gè)本地服務(wù),把基于webpack編譯后的內(nèi)容預(yù)覽
$npm run serve 或者 $yarn serve
生產(chǎn)模式下,把寫好的內(nèi)容進(jìn)行編譯打包,最后部署到服務(wù)器上
$npm run build 或者 $yarn build
vue-cli的其他命令
$vue inspect 查看當(dāng)前項(xiàng)目默認(rèn)的webpack配置信息 $vue add [plugin] 在當(dāng)前項(xiàng)目中安裝插件
$vue ui :以圖形化界面創(chuàng)建和管理項(xiàng)目
會(huì)打開一個(gè)瀏覽器窗口,并以圖形化界面將你引導(dǎo)至項(xiàng)目創(chuàng)建的流程

$vue create --help :可以查看vue中的命令

vue-cli的一點(diǎn)深入
創(chuàng)建項(xiàng)目后,默認(rèn)的配置中已經(jīng)把,例如:less/sass 等規(guī)則配好,如果我們的項(xiàng)目中需要使用less等,無需配置規(guī)則,只需要安裝對(duì)應(yīng)的模塊和加載器即可
$yarn add less less-loader -D <script> impoer './xxx/xxx.xx' //=>導(dǎo)入需要的模塊 </script> <style lang="less"> ...../ </style>
修改默認(rèn)的webpack配置
需要在根目錄中創(chuàng)建 vue.config.js 文件,在這個(gè)文件中修改相關(guān)配置,下面代碼就是修改webpack的相關(guān)配置
module.exports = {
//=>process.env.NODE_ENV:環(huán)境變量中存儲(chǔ)的是開發(fā)環(huán)境還是生產(chǎn)環(huán)境
publicPath: process.env.NODE_ENV === 'production' ? 'http://www.xxx.cn/' : '/',
//=>outputDir
//=>自定義目錄名稱,把生成的JS/CSS/圖片等靜態(tài)資源放置到這個(gè)目錄中
assetsDir: 'assets',
//=>關(guān)閉生產(chǎn)環(huán)境下的資源映射(生產(chǎn)環(huán)境下不在創(chuàng)建xxx.js.map文件)
productionSourceMap: false,
//=>設(shè)置一些webpack配置項(xiàng),用這些配置項(xiàng)和默認(rèn)的配置項(xiàng)合并
configureWebpack: {
plugins: []
},
//=>直接去修改內(nèi)置的webpack配置項(xiàng)
chainWebpack: config => {
//=>config:原始配置信息對(duì)象
config.module
.rule('images')
.use('url-loader')
.loader('url-loader')
.tap(options => {
options.limit = 200 * 1024;
return options;
});
},
//=>修改webpack-dev-server配置(尤其是跨域代理)
devServer: {
proxy: {
//請(qǐng)求地址 /user/add
//代理地址 http://api.xxx.cn/user/add
"/": {
changeOrigin: true,
target: "http://api.xxx.cn/"
}
}
},
//=>多余1核cpu時(shí):?jiǎn)?dòng)并行壓縮
parallel: require('os').cpus().length > 1
}
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- vue+webpack 更換主題N種方案優(yōu)劣分析
- 淺析webpack-bundle-analyzer在vue-cli3中的使用
- 淺析vue-cli3配置webpack-bundle-analyzer插件【推薦】
- 解決Idea、WebStorm下使用Vue cli腳手架項(xiàng)目無法使用Webpack別名的問題
- 詳解webpack打包vue項(xiàng)目之后生成的dist文件該怎么啟動(dòng)運(yùn)行
- webpack + vue 打包生成公共配置文件(域名) 方便動(dòng)態(tài)修改
- 基于 vue-skeleton-webpack-plugin 的骨架屏實(shí)戰(zhàn)
- 簡(jiǎn)述vue-cli中chainWebpack的使用方法
- Vue+webpack實(shí)現(xiàn)懶加載過程解析
相關(guān)文章
mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼
這篇文章主要介紹了mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
Vue2?Dialog彈窗函數(shù)式調(diào)用實(shí)踐示例
這篇文章主要為大家介紹了Vue2?Dialog彈窗函數(shù)式調(diào)用實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
vue項(xiàng)目中輪詢狀態(tài)更改方式(鉤子函數(shù))
這篇文章主要介紹了vue項(xiàng)目中輪詢狀態(tài)更改方式(鉤子函數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
vue3+ts前端封裝EventSource并在請(qǐng)求頭添加token的方法
這篇文章主要介紹了vue3+ts前端封裝EventSource并在請(qǐng)求頭添加token,本文將介紹如何使用 event-source-polyfill 來解決這個(gè)問題,需要的朋友可以參考下2024-12-12
vue中設(shè)置echarts寬度自適應(yīng)的代碼步驟
這篇文章主要介紹了vue中設(shè)置echarts寬度自適應(yīng)的問題及解決方案,常常需要做到echarts圖表的自適應(yīng),一般是根據(jù)頁面的寬度做對(duì)應(yīng)的適應(yīng),本文記錄一下設(shè)置echarts圖表的自適應(yīng)的步驟,需要的朋友可以參考下2022-09-09
vant 時(shí)間選擇器--開始時(shí)間和結(jié)束時(shí)間實(shí)例
這篇文章主要介紹了vant 時(shí)間選擇器--開始時(shí)間和結(jié)束時(shí)間實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue實(shí)現(xiàn)點(diǎn)擊翻轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)點(diǎn)擊翻轉(zhuǎn)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
如何使用el-table實(shí)現(xiàn)純前端導(dǎo)出(適用于el-table任意表格)
我們?nèi)粘W鲰?xiàng)目,特別是后臺(tái)管理系統(tǒng),常常需要導(dǎo)出excel文件,這篇文章主要給大家介紹了關(guān)于如何使用el-table實(shí)現(xiàn)純前端導(dǎo)出的相關(guān)資料,本文適用于el-table任意表格,需要的朋友可以參考下2024-03-03
web前端vue之vuex單獨(dú)一文件使用方式實(shí)例詳解
Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。這篇文章主要介紹了web前端vue:vuex單獨(dú)一文件使用方式,需要的朋友可以參考下2018-01-01
Vue+Axios實(shí)現(xiàn)文件上傳自定義進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Vue+Axios實(shí)現(xiàn)文件上傳自定義進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08

