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

詳解Vue前端生產(chǎn)環(huán)境發(fā)布配置實戰(zhàn)篇

 更新時間:2019年05月07日 11:42:49   作者:崗伯伯  
這篇文章主要介紹了詳解Vue前端生產(chǎn)環(huán)境發(fā)布配置實戰(zhàn)篇,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

首先這篇文章是寫給Vue新手的,老司機基本不用看了。

當我們剛接觸vue的時候,特別是對于第一次用前端框架的同學(xué)來說,心情可以說是比較激動的,框架帶來的種種新體驗,是以前jQuery無法給你的興奮和滿足感。但是在體驗了幾個demo的新鮮感之后,我們就要考慮如何把框架結(jié)合到我們實際的開發(fā)中如何應(yīng)用的問題了。

下面我主要總結(jié)三個和生產(chǎn)發(fā)布相關(guān)的問題:資源文件發(fā)布文件夾配置,圖片文件的引用,以及后臺接口調(diào)試方法。

一,資源文件發(fā)布配置

一般項目都是用vue-cli腳手架搭建項目,然后編寫自己的代碼。vue-cli腳手架生成的配置,默認資源文件都在static文件夾下面,build發(fā)布的js和css文件也是在static文件夾下面,index.html文件則是和static形成相對路徑關(guān)系。

而實際我們的生產(chǎn)發(fā)布環(huán)境中,頁面文件和資源文件不一定在同一目錄下,頁面文件和js,css文件也不在同一目錄下。

以php的Yii2環(huán)境為例,頁面文件一般都放在views文件夾,頁面訪問路徑可能是 “http://xxxx.com/index.php/sales-task/create ” 這樣的url形式。而js,css,image等資源文件則需要放在web文件夾下,訪問路徑則是從根目錄開始訪問的。如果在web目錄下新建static文件夾,訪問路徑是 “http://freelancer-xxxx.s3-website-us-east-1.amazonaws.com/index.html” 這樣的url形式。實際開發(fā)中我們不能把所有項目資源文件都放在web目錄下的static文件夾,需要按項目新建不同的文件夾,在每個項目文件夾里再新建js,css,images等文件夾來安放各自的資源文件,訪問路徑應(yīng)該是 “http://freelancer-xxxx.s3-website-us-east-1.amazonaws.com/index.html ” 這樣的url形式。

因此修改配置文件如下:

  1. 把vue項目下的static文件夾名稱改成項目名稱,名稱由小寫英文字母,橫杠連接符“-”,數(shù)字組成,例如sales-task。
  2. 修改config/index.js,把dev和build屬性里的assetsSubDirectorys的值都改成項目名稱,例如sales-task。build的assetsPublicPath值改成“/”,這樣所有資源文件的引用都從根目錄引用,避免相對路徑錯誤。
  3. 修改build/webpack.dev.conf.js,把plugins的new CopyWebpackPlugin那里的from: path.resolve(__dirname, '../static'),改為from: path.resolve(__dirname, '../sales-task')。
  4. build/webpack.prod.conf.js里也做同樣的修改。
  5. 上線前發(fā)布最終線上文件時,config/index.js里的build設(shè)置屬性productionSourceMap: false,同時注釋掉devtool: '#source-map',以避免產(chǎn)生.map映射文件。正式上線前這個還是要保留的,否則調(diào)試代碼會很不方便。

二,圖片文件的引用方式

vue項目中有2種圖片引用方式,一種是靜態(tài)引用,按照我們上面的資源文件夾配置,圖片路徑直接寫到template的html代碼里,格式示例:

<img src="/sales-task/images/logo.png">

這樣在開發(fā)模式和發(fā)布模式下都能正常引用到圖片,好處是和正常html代碼格式一樣,方便代碼的編寫和修改。缺點是圖片文件地址是靜態(tài)的,替換圖片后如果不手動更換文件名無法解決緩存問題。

另一種方法就是更科學(xué)的模塊化方式,用require引用圖片,這樣發(fā)布后圖片文件名也會生成唯一識別碼,圖片修改后就會重新生成不同的文件名,從而能避免緩存問題,另外小圖片還可以直接生成base64碼,減少文件請求。require引用也有兩種形式,直接寫在:src屬性上(注意這里和靜態(tài)引用不一樣,不是src而是:src了):

<img :src="require('../assets/images/logo.png')">

或者把圖片引用數(shù)據(jù)寫在data綁定數(shù)據(jù)里:

<img :src="logoImg">
...
<script>
export default
 {
  data()
  {
   return {
    logoImg:require('../assets/images/logo.png')
   }
  }
 }
</script>

當然我還是推薦綁定數(shù)據(jù)的方法,代碼看起來更清爽,也便于維護。

另外需要說明的是在vue的<style></style>塊內(nèi)的樣式里定義的background-image引用圖片不需要require引用,直接通過相對路徑引入就可以實現(xiàn)上面相同的效果。

三,后臺接口調(diào)試方法

這里后臺接口調(diào)試指的是在開發(fā)模式下的調(diào)試。

vue的開發(fā)模式是通過webpack-dev-server啟動一個本地服務(wù),所以在開發(fā)模式下調(diào)用后臺接口就產(chǎn)生了跨域問題。這里要說明一下,如果要調(diào)用的后臺接口本身就是跨域的接口,也就是說頁面和接口文件不在同一個域名下,跨域問題需要在后端設(shè)置,這時其實vue項目不需要特殊配置了,因為本地訪問和發(fā)布后訪問都是跨域的,解決后端跨域就都解決了。所以我們這里要配置的,還是針對發(fā)布以后頁面和接口不存在跨越問題,只是開發(fā)模式下本地服務(wù)和接口產(chǎn)生的跨越問題,如何解決。

首先還是打開config/index.js,找到module.exports里的dev,里面有一項proxyTable,默認是空的,我們要按照我們的接口路徑,修改如下:

  proxyTable: {
    '/sales-task-api':{
      target:"http://xxxxx.com/sales-task-api",
      changeOrigin:true,
      pathRewrite: {"^/sales-task-api" : "/"} 
    }
  }

注意上面3個地方的接口路徑名稱(示例中的"sales-task-api")要保持一致。

例如實際要調(diào)用的接口地址是:http://xxxxx.com/sales-task-api/get-user-list ,經(jīng)過這樣配置設(shè)置后,我們在vue中就可以通過 "/sales-task-api/get-user-list" 這樣的地址調(diào)用,也不會產(chǎn)生跨域問題。同時因為是采用的根目錄訪問路徑,在生產(chǎn)發(fā)布以后也不會產(chǎn)生接口訪問路徑錯誤問題。

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

相關(guān)文章

  • Vue動態(tài)修改頁面Title(瀏覽器頁簽名稱)的三種方法

    Vue動態(tài)修改頁面Title(瀏覽器頁簽名稱)的三種方法

    在開發(fā) Vue 項目時,我們經(jīng)常需要根據(jù)不同的頁面動態(tài)修改瀏覽器的頁簽標題(title),那么,如何在 Vue 項目中實現(xiàn)動態(tài)修改 document.title 呢?本文將介紹三種實用方法,并結(jié)合代碼示例,助你輕松實現(xiàn),需要的朋友可以參考下
    2025-03-03
  • vue-cli配置使用Vuex的全過程記錄

    vue-cli配置使用Vuex的全過程記錄

    這篇文章主要給大家介紹了關(guān)于vue-cli配置使用Vuex的相關(guān)資料,Vuex 是一個專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式,本介紹的非常詳細,需要的朋友可以參考下
    2021-07-07
  • vue?this.$router六種方法使用示例總結(jié)分析

    vue?this.$router六種方法使用示例總結(jié)分析

    這篇文章主要為大家介紹了vue this.$router六種方法使用示例總結(jié)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • vue.js簡單配置axios的方法詳解

    vue.js簡單配置axios的方法詳解

    axios是一個基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,下面這篇文章主要給大家介紹了關(guān)于vue.js簡單配置axios的相關(guān)資料,需要的朋友們可以參考借鑒,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • vue中keepAlive組件的作用和使用方法詳解

    vue中keepAlive組件的作用和使用方法詳解

    vue里提供了keep-alive組件用來緩存狀態(tài),這篇文章主要給大家介紹了關(guān)于vue中keepAlive組件的作用和使用方法的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Vue源碼之rollup環(huán)境搭建步驟詳解

    Vue源碼之rollup環(huán)境搭建步驟詳解

    這篇文章主要介紹了Vue源碼之rollup環(huán)境搭建步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    這篇文章主要介紹了從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 對vue 鍵盤回車事件的實例講解

    對vue 鍵盤回車事件的實例講解

    今天小編就為大家分享一篇對vue 鍵盤回車事件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • React組件通信之路由傳參(react-router-dom)

    React組件通信之路由傳參(react-router-dom)

    本文主要介紹了React組件通信之路由傳參(react-router-dom),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Vue實現(xiàn)單點登錄控件的完整代碼

    Vue實現(xiàn)單點登錄控件的完整代碼

    這里提供一個Vue單點登錄的demo給大家參考,對Vue實現(xiàn)單點登錄控件的完整代碼感興趣的朋友跟隨小編一起看看吧
    2021-11-11

最新評論

深州市| 广德县| 朝阳市| 井研县| 镇宁| 义马市| 甘肃省| 镇赉县| 徐水县| 政和县| 洛宁县| 马龙县| 唐海县| 古蔺县| 建宁县| 柘荣县| 西青区| 九寨沟县| 大埔县| 武定县| 安徽省| 湖北省| 蓬溪县| 武强县| 翁源县| 永新县| 黎城县| 天门市| 抚州市| 麟游县| 新巴尔虎右旗| 新源县| 师宗县| 乌兰察布市| 社会| 那曲县| 张北县| 五大连池市| 旅游| 虹口区| 日照市|