中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue.js項目怎么打包上線

發布時間:2022-04-13 13:49:14 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

這篇文章主要介紹“vue.js項目怎么打包上線”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“vue.js項目怎么打包上線”文章能幫助大家解決問題。

vue.js項目打包上線

最近一直堅持每個月寫一個小的vue.js 開發的項目,最后開發完成后想到很久之前給別人回答的一個問題:vue的項目如何上線,當時有千奇百怪的回答,我在想,這些人都是腫了么,vue的官方都說了,這個框架只是做了view這一層,所以并不是把這些開發完的東西直接拷貝到服務器上,而且需要打包為靜態文件上傳服務器的。

這里我簡單的列出這個過程

首先需要修改一下配置文件再打包,很多人都是遇到過打包后運行一片空白等等問題,這些問題主要就是路徑的問題,所以需要修改config下面的index.js這個配置文件里選項:

vue.js項目怎么打包上線

上圖中第一個要修改的就是靜態文件的路徑,打包后靜態文件就在當前目錄下,所以修改為./

第二個是環境設置為生產環境

修改好后打開cmd運行下面的命令打包即可:

vue.js項目怎么打包上線

注意下面的tip,告訴你這個打包后的文件需要放到服務器才能打開,不能直接使用瀏覽器打開,打包后的文件結構如下:

vue.js項目怎么打包上線

這時我們需要使用服務器的方式來訪問index.html就可以了。這里可能很多人也會遇到一些問題,比如大家可能在開發的時候使用的proxytable來解決跨域的問題,這里就會沒有數據了,這個需要自己通過服務器在解決一下才可以的,proxytable在這里只是為了方便大家開發的跨域解決方案。

vue.js打包之后遇到的坑

最近在用webpack+vue寫項目,經過幾天的熬夜加班改BUG,終于把基本的框架給寫完了,后面只要加一些小功能就可以了,太好吧!先來npm run build 打包出來看看吧!

vue.js項目怎么打包上線

打包中...,我們用本地服務器打開看一下。

額,不看不知道,一看嚇一跳,坑咋這么多呢!但是作為一名積極向上的IT從業者,填坑吧。

打包之后沒有被渲染出來

vue.js項目怎么打包上線

怎么回事,剛打開就告訴我啥也沒有,這是要搞事情的前奏啊!,我們看一下錯誤信息,告訴我路徑有問題,默默的看一下自己的地址欄和自己的文件所在目錄,原來是我的打包文件沒有放到根目錄下,這個時候我們可以把我們的兩個文件放到根目錄下,但是作為一名有個性的IT人士,當然要看有沒有其他方法。從上面的路徑中隱隱約約有點預感,static是直接相對于根目錄,說明這有可能打包的時候,有可能設置了絕對路徑,如果我改成相對路徑,那不就可以了嗎。

vue.js項目怎么打包上線

我們去看一下項目文件下的config>index.js找到里面的build下的assetsPublicPath:'/',把它改成assetsPublicPath:'./',加個小點表示相對路徑,不加表示絕對路徑。npm run build運行。成功。

路由(router)mode:'history',導致頁面不能渲染問題

vue.js項目怎么打包上線

地址欄的那個#怎么那么讓我不舒服呢!對于有輕度強迫癥的我來說,這是不能忍不了的。

我們在項目打包前,開發項目時(npm start),在vueRouter里設置mode:"history".可以去掉#號。

這里強行解釋一番:

路由(router)默認 hash 模式,使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載,因為對于正常的頁面來說,更換URl一定是會導致頁面的更換的, 而只有更換URL中的查詢字符串和hash值的時候才不會重新加載頁面。

路由(router)的history模式,這種模式充分利用了history.pushState API來完成URL的跳轉而不需要重新加載頁面。沒有#號。

npm run build打包中....

什么鬼,為什么我的路由(router)部分沒有被渲染出來,這就是history的坑了,解決方法一,會到以前的hash模式;解決方法二,設置routes里的路由name。

vue.js項目怎么打包上線

這是因為路由(router)無法找到路徑中的組件,所以也就無法渲染了。只需要修改 src > router > index.js,在每個path后加上組件名稱就行了,這樣就可以了。

這里有個小問題:

vue.js項目怎么打包上線

vue.js項目怎么打包上線

為了我們的時間考慮,還是放到根目錄吧!

首頁沒有問題了,逐個鏈接測試一下。

vue.js項目怎么打包上線

vue.js項目怎么打包上線

這是什么鬼,路徑和其他圖片路徑一樣,圖片也存在啊,為啥你就是這么傲嬌,就是報錯。來看一下控制臺。

vue.js項目怎么打包上線

結合之前的./原來是相對路徑問題,是我的開發文件assets下多個圖片文件夾。

vue.js項目怎么打包上線

關于“vue.js項目怎么打包上線”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

堆龙德庆县| 南皮县| 丘北县| 辽宁省| 和硕县| 重庆市| 措美县| 昂仁县| 南安市| 道真| 南澳县| 蒙阴县| 靖边县| 台山市| 双江| 舒城县| 拜城县| 奉化市| 新龙县| 河北省| 铜陵市| 叙永县| 南郑县| 定结县| 革吉县| 水城县| 百色市| 安乡县| 翁源县| 靖安县| 阳新县| 黎川县| 图片| 仁布县| 鹰潭市| 庆云县| 大丰市| 贡山| 瑞昌市| 祥云县| 喀喇沁旗|