亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue項(xiàng)目打包部署全過程(history模式)

 更新時(shí)間:2023年05月03日 07:09:02   作者:大前端工程師  
vue項(xiàng)目中我們比較常用的模式為hash和history模式,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包部署的全過程,講解的是vue-router中history模式的部署,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前提準(zhǔn)備

我們需要準(zhǔn)備一個(gè)vue項(xiàng)目(vue-cli3或vue-cli4)、一個(gè)nginx服務(wù)器

本教程講解的是vue-router中history模式的部署,完全適用于vue-cli3,4。vue-cli2需要進(jìn)行略微改動(dòng)

部署流程

  • 配置vue.config.js中的publicPath
  • 配置vue-router的模式為history
  • 配置vue-router中的base(基態(tài)路由【與服務(wù)端配合】)
  • 使用npm run build生成dist文件夾
  • 配置nginx代理(進(jìn)行生產(chǎn)環(huán)境下的反向代理,注意生產(chǎn)環(huán)境下devServer無效【或者你可以配置devserver的根目錄是dist都可以】)
  • 配置nginx路由

vue.config.js

如果你的項(xiàng)目中沒有這個(gè)文件,直接在項(xiàng)目根目錄創(chuàng)建它即可

1.配置publicPath

這里我們配置publicPth為路由/vue/

module.exports = {
    // /vue/這個(gè)名字你自己起,也可以用我這個(gè)
    publicPath: process.env.NODE_ENV === "production" ? "/vue/" : "./",
    outputDir:'dist',
}

為了兼容各種情況,我強(qiáng)烈建議大家路由寫成/vue/而不是寫成/vue

vue-router

1.配置路由模式和基礎(chǔ)路由

export default new Router({
    // history模式,需要和服務(wù)端配合才能在生產(chǎn)環(huán)境下正常使用
    mode: 'history',
    // 基本路由,這個(gè)名字可以自己起,但是要注意和vue.config.js里面publicPath所起的名字一致
    base:'/vue/',
    routes:[]
})

npm run build

我們在vue項(xiàng)目根目錄下運(yùn)行npm run build就可以進(jìn)行項(xiàng)目的打包了。打包后會(huì)生成dist文件夾,把它放進(jìn)nginx的html文件夾下即可

nginx

1.配置nginx代理

有些時(shí)候我們需要請求一些跨域服務(wù),在開發(fā)時(shí),我們可以配置devServer的proxy實(shí)現(xiàn)跨域訪問。

但是在npm run build后,我們會(huì)發(fā)現(xiàn)代理無效。這是因?yàn)樯a(chǎn)環(huán)境下的文件已經(jīng)脫離devServer了,所以自然代理就沒有用了,所以一般生產(chǎn)環(huán)境代理我們使用nginx去做

location /api/{
? ? proxy_pass ?http://121.36.94.221:6600/;
? ? index ?index.html index.htm;
}
location /info/{
? ? proxy_pass ?http://ckk.xiaoandcai.cn/;
? ? index ?index.html index.htm;
}

假設(shè)我們的nginx服務(wù)器的端口號是8080,

那么我們做跨域請求時(shí)候只需要訪問:localhost:8080/api就行了,這樣做我們就相當(dāng)于訪問那個(gè)服務(wù)器下的資源

但是一般部署項(xiàng)目的時(shí)候我們不會(huì)發(fā)送axios去請求localhost:8080/api,我們會(huì)直接請求/api

舉個(gè)例子

//不會(huì)這樣做,因?yàn)椴渴鸱?wù)器后地址要換成ip,不然會(huì)404
axios.get("localhost:8080/api")
//你可以選擇這樣做,但是我們不推薦
axios.get("ip:8080/api")
//我們推薦這樣做,讓axios根據(jù)相對路徑補(bǔ)全ip+端口,這樣比較省心【但是要注意你的項(xiàng)目要部署在nginx代理服務(wù)器下。如果你不部署的話相對路徑也是不行的,畢竟你都沒部署人家nginx服務(wù)器上,自然你的項(xiàng)目就不是nginx家的孩子,所以相對路徑的小名,nginx怎么能認(rèn)識呢?】
axios.get("/api")

2.配置nginx路由

location / {
    root   html;
    index  index.html index.htm;
    autoindex on;       #開啟nginx目錄瀏覽功能
    autoindex_exact_size off;   #文件大小從KB開始顯示
    charset utf-8;          #顯示中文
}
# 寫我們的路由暗號/vue
location /vue{
    # alias后面寫項(xiàng)目所在目錄 xxxxxxx一定要注意,不能寫成D:\nginx\nginx-1.20.0\html\dist,要寫成斜杠/形式,否則會(huì)404
    alias D:/nginx/nginx-1.20.0/html/dist;
    charset utf-8;          #顯示中文
}

現(xiàn)在啟動(dòng)nginx服務(wù)器輸入localhost:8080/vue就可以訪問我們的vue項(xiàng)目了

總結(jié)

到此這篇關(guān)于Vue項(xiàng)目打包部署的文章就介紹到這了,更多相關(guān)Vue項(xiàng)目打包部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • axios封裝與傳參示例詳解

    axios封裝與傳參示例詳解

    這篇文章主要給大家介紹了關(guān)于axios封裝與傳參的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • vue中使用ueditor富文本編輯器

    vue中使用ueditor富文本編輯器

    這篇文章主要介紹了vue中使用ueditor富文本編輯器的相關(guān)資料,需要的朋友可以參考下
    2018-02-02
  • vue路由跳轉(zhuǎn)了但界面不顯示的問題及解決

    vue路由跳轉(zhuǎn)了但界面不顯示的問題及解決

    這篇文章主要介紹了vue路由跳轉(zhuǎn)了但界面不顯示的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue.delete()刪除對象的屬性說明

    Vue.delete()刪除對象的屬性說明

    這篇文章主要介紹了Vue.delete()刪除對象的屬性說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解Vue3中響應(yīng)式的特殊處理

    詳解Vue3中響應(yīng)式的特殊處理

    這篇文章主要為大家詳細(xì)介紹了Vue3中響應(yīng)式的一些特殊處理,文中的示例代碼講解詳細(xì),對我們深入了解Vue3有一定的幫助,需要的可以參考一下
    2023-04-04
  • Element Notification通知的實(shí)現(xiàn)示例

    Element Notification通知的實(shí)現(xiàn)示例

    這篇文章主要介紹了Element Notification通知的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • vue-cli項(xiàng)目配置多環(huán)境的詳細(xì)操作過程

    vue-cli項(xiàng)目配置多環(huán)境的詳細(xì)操作過程

    vue-cli 默認(rèn)只提供了 dev 和 prod 兩種環(huán)境。這篇文章主要介紹了vue-cli項(xiàng)目配置多環(huán)境的詳細(xì)操作過程,需要的朋友可以參考下
    2018-10-10
  • vue.js實(shí)現(xiàn)照片放大功能

    vue.js實(shí)現(xiàn)照片放大功能

    這篇文章主要為大家詳細(xì)介紹了vue.js實(shí)現(xiàn)照片放大功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Vue顯示圖片的幾種方式小結(jié)

    Vue顯示圖片的幾種方式小結(jié)

    本文主要介紹了Vue顯示圖片的幾種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Vue cli3 庫模式搭建組件庫并發(fā)布到 npm的流程

    Vue cli3 庫模式搭建組件庫并發(fā)布到 npm的流程

    這篇文章主要介紹了Vue cli3 庫模式搭建組件庫并發(fā)布到 npm,以下一個(gè)簡單的顏色選擇器插件 vColorPicker 講述從開發(fā)到上線到npm的流程,需要的朋友可以參考下
    2018-10-10

最新評論