最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談vue項(xiàng)目如何打包扔向服務(wù)器

 更新時(shí)間:2018年05月08日 09:40:58   作者:Hi-Sen  
本篇文章主要介紹了淺談vue項(xiàng)目如何打包扔向服務(wù)器,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

當(dāng)我們將 vue 項(xiàng)目完成后,面臨的就是如何將項(xiàng)目進(jìn)行打包上線,放到服務(wù)器中。我使用的是 vue-cli(simple) 腳手架,所以就講一下如何將項(xiàng)目進(jìn)行打包,并放到 tomcat 上。 

如果是 vue-cli (非 simple 腳手架),這篇文章可能有點(diǎn)幫助。地址鏈接:vue-cli 如何打包上線

先來描述一下期間遇到的問題有哪些:

1、打包后將 dist 文件夾和 index.html 放到 tomcat,在瀏覽器中訪問時(shí),出現(xiàn)空白頁,f12 提示 404。
2、打包好的靜態(tài)資源均是絕對(duì)路徑,無法引入進(jìn)項(xiàng)目,也是 404。

1、項(xiàng)目目錄結(jié)構(gòu)

這是打包后的,所以有 dist 文件夾,打包方式:npm run build。

2、webpack.config.js

這里只是一小部分,因?yàn)檫@邊最關(guān)鍵的就是 publicPath,下面會(huì)提,這邊可以解決靜態(tài)資源 404 無法引入的問題。

3、npm run build 打包后的文件

npm run build 打包后生成一個(gè) dist 文件夾,這里面的目錄:

我對(duì) webpack 打包工具的原理不是很清楚,所以文件夾應(yīng)該生成什么不是了解。我這邊是這樣子的。主要是一個(gè)主要的 build.js, 因?yàn)槲覀兊?index.html 引入的就是這個(gè) js 文件。還有一些圖片文件和 ElementUI 生成的 ttf 和 woff。

4、如何放到服務(wù)器中。

接下來就是需要將生成的 dist 文件夾和 index.html 文件放到服務(wù)器中,只需要這兩個(gè)。首先我將這兩個(gè)文件放在同一個(gè)文件夾中,我命名為 gas(隨意)。

然后將文件夾放到 tomcat 中,我將文件夾放到 tomcat 的 webapps 文件夾目錄下:

ok 部署完成,啟動(dòng) tomcat,你會(huì)發(fā)現(xiàn)顯示一個(gè)空白頁,一些靜態(tài)資源都是 404。

5、解決空白頁和靜態(tài)資源無法引入的問題。

1、首先空白頁的問題,可以重 f12 中看出來都是絕對(duì)路徑的原因,而我們打包后,應(yīng)該的引入路徑是相對(duì)路徑,這時(shí)我們需要的是修改 index.html 頁面。

看一下沒改之前的:

看我 /dist/build.js 引用的是絕對(duì)路徑,這就導(dǎo)致了在 tomcat 去訪問 index.html 頁面時(shí),報(bào)404。我們需要將路徑變成相對(duì)路徑 ./dist/build/。多一個(gè)點(diǎn),很關(guān)鍵。好了到這里應(yīng)該主頁面可以顯示了。

但是你會(huì)發(fā)現(xiàn),我的靜態(tài)資源,我的圖片(不包括 img 形式的引入),例如我在 css 中 background:url() 的圖片顯示404。

2、解決靜態(tài)資源失效的問題

這就需要修改我們的 webpack.config.js 中的 publicPath 了,默認(rèn)的 vue-cli 腳手架環(huán)境搭建好后,publicPath 是這樣的:

可以看到我們的路徑是: /dist/。所以這時(shí)候我們?nèi)绻蜷_頁面,靜態(tài)資源的路徑都會(huì)是這樣子的,并且報(bào)錯(cuò)404:http://10.0.0.181:8088/dist/bg.png?fe9b889cea51978538ce352593be0573

顯然可以看出和我們想要的路徑不一致,上面我貼出來的在 tomcat 的文件目錄中我將 dist 和 index.html 都放進(jìn)了一個(gè) gas 的文件夾中。所以正確的路徑應(yīng)該是這樣的:
http://10.0.0.181:8088/gas/dist/bg.png?fe9b889cea51978538ce352593be0573

看出區(qū)別了嗎!

解決:

所以我需要改變一下 webpack.config.js 中的輸出路徑 publicPath: /gas/dist/。將最外層的文件夾路徑加進(jìn)去,這樣就可以將靜態(tài)資源引入進(jìn)項(xiàng)目了。

ok,到現(xiàn)在為止,最主要的兩個(gè)問題解決了,一個(gè)是 index.html 空白頁,另一個(gè)是 靜態(tài)資源路徑不正確的問題。

6、index.html 頁面中的link 和 srcipt 引用的資源失效問題:

原因還是路徑的地址不對(duì):

妥協(xié)的解決方法是:將自己引用的資源手動(dòng)放到打包出來的 dist 文件夾內(nèi),然后在 index.html 中按照 dist 的相對(duì)路徑進(jìn)行引用。

代碼中的 icon.ico 就是我手動(dòng)將 icon 圖標(biāo)放到 dist 文件夾中,然后按照對(duì)應(yīng)的引用路徑進(jìn)行引用。其他的 css 和 js 引用一樣。

7、待解決的問題:

1、在我的項(xiàng)目中,使用了 ElementUI 框架,但是在打包放到服務(wù)器中后,發(fā)現(xiàn)按鈕樣式變了,所有的 padding 失效,所有我只能自己手動(dòng)進(jìn)行添加樣式。

2、在我的 index.html 中如果引入 link css文件時(shí),還是沒辦法引入相對(duì)路徑,所以我將 css 樣式都放到了各自的組件中的 style 中了,其他的一般都是用 npm 注入依賴的形式進(jìn)行安裝。

8、網(wǎng)上搜索到的相關(guān)問題和解決方法。

1、求助!Vue項(xiàng)目用Webpack打包后放到服務(wù)器上,但訪問是空白頁?弄了好久了也不知道什么原因

2、vue項(xiàng)目中,npm run build生成的index.html文件只有放在根目錄下打開才能生效,怎么解決?

3、Vue應(yīng)用部署到服務(wù)器的正確方式

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue{{}}拼接字符串和換行符方式

    vue{{}}拼接字符串和換行符方式

    這篇文章主要介紹了vue{{}}拼接字符串和換行符方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue實(shí)現(xiàn)移動(dòng)端H5數(shù)字鍵盤組件使用詳解

    vue實(shí)現(xiàn)移動(dòng)端H5數(shù)字鍵盤組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)移動(dòng)端H5數(shù)字鍵盤組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • vue中 this.$set的用法詳解

    vue中 this.$set的用法詳解

    這篇文章主要介紹了vue中 this.$set的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue3中如何使用vue-types

    vue3中如何使用vue-types

    vue-types 在 Vue 3 中的使用主要適用于希望進(jìn)行更細(xì)致的 prop 驗(yàn)證的場(chǎng)景,尤其是在 JavaScript 項(xiàng)目中,這篇文章給大家介紹vue3中如何使用vue-types,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • Vue keep-alive組件的使用及如何清除緩存

    Vue keep-alive組件的使用及如何清除緩存

    本文介紹了Vue keep-alive組件的使用及如何清除緩存,給大家分享清除緩存的幾種方法,結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-10-10
  • 淺談在vue中用webpack打包之后運(yùn)行文件的問題以及相關(guān)配置方法

    淺談在vue中用webpack打包之后運(yùn)行文件的問題以及相關(guān)配置方法

    下面小編就為大家分享一篇淺談在vue中用webpack打包之后運(yùn)行文件的問題以及相關(guān)配置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue 使用 echarts 繪制中國地圖的實(shí)現(xiàn)代碼

    vue 使用 echarts 繪制中國地圖的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue 使用 echarts 繪制中國地圖,內(nèi)容包括插入echarts所需模塊及完整的代碼,代碼簡單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • webpack搭建vue環(huán)境時(shí)報(bào)錯(cuò)異常解決

    webpack搭建vue環(huán)境時(shí)報(bào)錯(cuò)異常解決

    這篇文章主要介紹了webpack搭建vue環(huán)境時(shí)報(bào)錯(cuò)異常解決,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 使用sessionStorage解決vuex在頁面刷新后數(shù)據(jù)被清除的問題

    使用sessionStorage解決vuex在頁面刷新后數(shù)據(jù)被清除的問題

    localStorage沒有時(shí)間期限,除非將它移除,sessionStorage即會(huì)話,當(dāng)瀏覽器關(guān)閉時(shí)會(huì)話結(jié)束,有時(shí)間期限,具有自行百度。本文使用的是sessionStorage解決vuex在頁面刷新后數(shù)據(jù)被清除的問題,需要的朋友可以參考下
    2018-04-04
  • 利用Vue Router實(shí)現(xiàn)單頁面應(yīng)用(SPA)的代碼示例

    利用Vue Router實(shí)現(xiàn)單頁面應(yīng)用(SPA)的代碼示例

    在當(dāng)今前端開發(fā)中,單頁面應(yīng)用(SPA)已成為一種主流的開發(fā)模式,它通過在用戶與網(wǎng)頁之間提供更流暢的交互體驗(yàn),來改變傳統(tǒng)多頁面應(yīng)用的思維,本文將詳細(xì)介紹如何利用 Vue.js 中的 Vue Router 來實(shí)現(xiàn)一個(gè)簡單的單頁面應(yīng)用,需要的朋友可以參考下
    2025-01-01

最新評(píng)論

鸡泽县| 黄龙县| 伊宁市| 吉木萨尔县| 隆子县| 饶平县| 瑞昌市| 房山区| 遵义市| 宜兰市| 西乌珠穆沁旗| 屯留县| 嘉善县| 大悟县| 洛扎县| 黄龙县| 宜宾县| 江津市| 曲靖市| 曲麻莱县| 九龙县| 普定县| 苏州市| 靖江市| 天峨县| 柳州市| 来安县| 阿拉善左旗| 蒙城县| 临潭县| 秭归县| 敖汉旗| 葵青区| 蕉岭县| 巴林左旗| 泰宁县| 额尔古纳市| 依安县| 青海省| 镇巴县| 兰西县|