詳解最新vue-cli 2.9.1的webpack存在問題
最近vue-cli更新,用其構(gòu)建項(xiàng)目的時(shí)候,發(fā)現(xiàn)bulid文件下少了兩個(gè)文件,分別是dev-sever.js和dev-client.js
vue-cli 2.8

vue-cli 2.9.1

這是為什么呢
我們查看下package.json
vue-cli 2.8

vue-cli 2.9.1

由此可知 在最新版本的vue-cli中webpack版本更新到v3.6.0了。
既然更新了 那就我們就重新開下webpack的配置項(xiàng)。
vue自啟瀏覽器設(shè)置
當(dāng)我們啟動npm run dev執(zhí)行此cli的時(shí)候發(fā)現(xiàn) 居然不會自己啟動瀏覽器了
這樣的話 豈不是裝逼不了? 不不不 還是可以的,只要我們修改下配置項(xiàng)就可以了
我們先看看 我們npm run dev 到底執(zhí)行了什么
繼續(xù)查看package.json的scripts選項(xiàng)的dev 配置
vue-cli 2.9.1 package.json

對比下就知道 當(dāng)我們運(yùn)行npm run dev 實(shí)際上是執(zhí)行了webpack-dev-server –inline –progress –config build/webpack.dev.conf.js
vue-cli 2.8 package.json

跟之前運(yùn)行npm run dev 有區(qū)別 也好說明了他要刪除這兩個(gè)文件的原因了,因?yàn)樽钚掳姹镜膚ebpack的配置中是采用webpack-dev-server這個(gè)插件進(jìn)行的啟動瀏覽器的 可以在官網(wǎng)進(jìn)行查看他的一個(gè)API使用說明
build/webpack.dev.conf.js 運(yùn)行路徑 那查看下其配置
vue-cli 2.9.1 build/webpack.dev.conf.js

查看API就知道這個(gè)open 這個(gè)參數(shù)就是打開自啟服務(wù)器的原因,但是config.dev.autoOpenBrowser這個(gè)是什么呢,我們可以向上查找

剛好對應(yīng)config的定義 require就是加載進(jìn)來 那就是繼續(xù)查看對應(yīng)的路徑 剛好對應(yīng)config文件下的index.js 在require默認(rèn)是其下的index文件 這里就對應(yīng)index.js
config/index.js

這里的autoOpenBrowser對應(yīng)false ,既然我們要改動那就直接改為true就可以。然后在重啟下服務(wù) 就可以自啟動服務(wù)了
其中的port也可以改對應(yīng)的啟動端口,在最新版本的vue-cli配置中 即使設(shè)置的端口被占用了,他自動會在其端口在加1 開啟服務(wù)的。
餓了嗎APP 接口設(shè)置問題
由于bulid文件夾下的兩個(gè)文件沒有,那餓了嗎接口怎么設(shè)置呢。
在此之前我們理解下餓了嗎app的接口的設(shè)置原理,由于數(shù)據(jù)都是直接從data.json這個(gè)文件獲取的,所以呢,我們要模擬mock做個(gè)接口。但是在餓了嗎APP的設(shè)置中 它是直接啟動服務(wù)的時(shí)候把接口給做好了,這也是為什么我們可以直接訪問其/api/seller有對應(yīng)數(shù)據(jù)
vue-cli 2.9.1

在vue-cli 2.9.1之前版本是在dev-server.js直接設(shè)置的 具體參數(shù)在
vue-cli 2.9.1

方法一:
回到起點(diǎn),在最新版本vue-cli的配置中瀏覽器服務(wù)都在webpack-dev-server 這個(gè)插件中,那我們就其在webpack.dev.conf.js進(jìn)行修改
現(xiàn)在我們的要求就是怎么在服務(wù)開啟的時(shí)候接口數(shù)據(jù)也對應(yīng)做好呢,那我們查看其插件API 剛好有一個(gè)參數(shù)就是devServer.before
devServer.before

就是解決問題所在了。 進(jìn)行修改
webpack.dev.conf.js

這樣我們就可以直接發(fā)送API請求數(shù)據(jù)了
this.axios.get("/api/seller").then(function(res){
// do something
})
方法二
會node的也可以直接做個(gè)api接口,開啟node服務(wù) 然后餓了嗎項(xiàng)目直接訪問這個(gè)接口,當(dāng)然這里會存在跨域問題和路由映射,不過webpack-dev-server 幫你們解決這個(gè)問題了 主要是設(shè)置參數(shù)問題 devServer.proxy 進(jìn)行路由映射等等

不過這些還需要考慮到自身能力,我建議還是使用第一種方法
總結(jié)
前端技術(shù)更新那么快,我們最好就是每天都要學(xué)習(xí)想對應(yīng)的知識,主要是底層能理解透徹了 這些問題我們就可以對應(yīng)解決
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- webpack vue 項(xiàng)目打包生成的文件,資源文件報(bào)404問題的修復(fù)方法(總結(jié)篇)
- 一步步教你利用webpack如何搭一個(gè)vue腳手架(超詳細(xì)講解和注釋)
- webpack搭建vue 項(xiàng)目的步驟
- Vue工程模板文件 webpack打包配置方法
- 詳解vue-cli之webpack3構(gòu)建全面提速優(yōu)化
- webpack+vue中使用別名路徑引用靜態(tài)圖片地址
- vue+node+webpack環(huán)境搭建教程
- vue+vuecli+webpack中使用mockjs模擬后端數(shù)據(jù)的示例
- vue和webpack安裝命令詳解
相關(guān)文章
vue3+element?plus中利用el-menu如何實(shí)現(xiàn)路由跳轉(zhuǎn)
這篇文章主要給大家介紹了關(guān)于vue3+element?plus中利用el-menu如何實(shí)現(xiàn)路由跳轉(zhuǎn)的相關(guān)資料,在Vue?Router中我們可以使用el-menu組件來實(shí)現(xiàn)菜單導(dǎo)航,通過點(diǎn)擊菜單項(xiàng)來跳轉(zhuǎn)到不同的路由頁面,需要的朋友可以參考下2023-12-12
Ant Design Vue pro 動態(tài)路由的實(shí)現(xiàn)和打包方式
這篇文章主要介紹了Ant Design Vue pro 動態(tài)路由的實(shí)現(xiàn)和打包方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
vue3+ElementPlus+VueCropper實(shí)現(xiàn)上傳圖片功能
文章介紹了如何在Vue3、ElementPlus和VueCropper組件中實(shí)現(xiàn)圖片上傳和裁剪功能,包括放大、縮小等操作,感興趣的朋友跟隨小編一起看看吧2025-01-01
VsCode新建VueJs項(xiàng)目的詳細(xì)步驟
本篇文章主要介紹了VsCode新建VueJs項(xiàng)目的詳細(xì)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
vue中對接Graphql接口的實(shí)現(xiàn)示例
本文主要介紹了vue中對接Graphql接口的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
VUE中v-on:click事件中獲取當(dāng)前dom元素的代碼
這篇文章主要介紹了VUE中v-on:click事件中獲取當(dāng)前dom元素的代碼,文中同時(shí)給大家提到了v-on:click獲取當(dāng)前事件對象元素的方法,需要的朋友可以參考下2018-08-08
TypeScript基本類型 typeof 和keyof案例詳解
這篇文章主要介紹了TypeScript基本類型 typeof 和keyof案例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10

