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

溫馨提示×

溫馨提示×

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

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

Vue項目怎么配置index.html中的BASE_URL

發布時間:2022-06-15 09:23:17 來源:億速云 閱讀:923 作者:zzz 欄目:開發技術

今天小編給大家分享一下Vue項目怎么配置index.html中的BASE_URL的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    Vue項目對index.html中BASE_URL的配置

    問題

    有時候后端配置資源的默認訪問路徑的時候,可能會與前端打包時配置的默認根路徑有所差異

    比如:后端要訪問靜態資源的根路徑為/static,而一般情況下,我們項目的vue.config.js中對BAES_URL的配置是/,或者不做配置,因為它默認的值也是/

    這個路徑決定了我們的前端項目打包后獲取靜態資源的默認的根路徑(不顯示在代碼中),同時,這個路徑也在public/index.html中有明顯的引用,大多時候都會看到如下的代碼: 

    <!DOCTYPE html>
    <html lang="zh-cmn-Hans">
      <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width,initial-scale=1.0">
        <link rel="icon" href="<%= BASE_URL %>logo.png" rel="external nofollow" >
        <title>xxxx</title>
      </head>
      <body>
      	<div>.......</div>
      </body>
    </html>

    那么,我們應該如何去修改這個BAE_URL的值呢?

    解決

    通過 vue-cli3 官方文檔的查閱,發現:

    Vue項目怎么配置index.html中的BASE_URL

    所以,顯而易見,如果想修改 BASE_URL,

    Vue CLI 3.3 之前的版本,配置:baseURl: '/static'

    Vue CLI 3.3 之后(包括3.3)的版本,配置:publicPath: '/static'

    Vue項目怎么配置index.html中的BASE_URL

    因為這個值在開發環境下同樣生效,所以說這么一改打包后是沒問題了,但自己的項目運行起來卻會報錯,官方也給出了方案。很簡單,只需要判斷一下當前環境是生產環境還是開發環境,再應用不同的路徑就可以了。如下:

    module.exports = {
      publicPath: process.env.NODE_ENV === 'production'
        ? '/static/'
        : '/'
    }

    注意:

    還需要注意的一個問題是,當我們修改了publicPath 之后,如果我們對路由的配置是像下面這樣:

    export default new Router({
      mode: 'history',
      base: process.env.BASE_URL,
      scrollBehavior: () => ({ y: 0 }),
      routes: constantRouterMap.concat(asyncRouterMap)
    })

    可以看到路由的基礎路徑跟 BASE_URL 即 publicPath 是相同的。

    如果保持原來的配置,那么所有的路由都會帶上多余的前綴,如:/static/home

    修改方式也很簡單,如下:

    Vue.use(Router)
    export default new Router({
      mode: 'history',
      // base: process.env.BASE_URL,
      base: '/',
      scrollBehavior: () => ({ y: 0 }),
      routes: constantRouterMap.concat(asyncRouterMap)
    })

    將base屬性重置為/即可 

    Vue項目url中的<%= BASE_URL %>

    vue-cli 創建的一個項目中執行命令 vue inspect > output.js 將 vue-cli 中 webpack 的配置信息導出到 output.js 文件,會有一段代碼:

     new DefinePlugin(
         {
           'process.env': {
             NODE_ENV: '"development"',
             BASE_URL: '"/"'
           }
         }
       ),

    在 webpack 中全局聲明了 BASE_URL 這個變量為項目根目錄。 

    以上就是“Vue項目怎么配置index.html中的BASE_URL”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    文安县| 进贤县| 夏邑县| 周宁县| 湘乡市| 五原县| 宁乡县| 泸溪县| 海淀区| 福安市| 宿州市| 岳普湖县| 祁东县| 佛坪县| 于都县| 墨玉县| 乌拉特后旗| 三明市| 邓州市| 攀枝花市| 大埔区| 金秀| 阿合奇县| 思茅市| 孝义市| 泰来县| 阿巴嘎旗| 固阳县| 轮台县| 自治县| 石屏县| 梅河口市| 阿拉善右旗| 奇台县| 凤冈县| 汤原县| 凤庆县| 新闻| 江都市| 若尔盖县| 盐津县|