第二步 Vue2 vue.config.js 基礎(chǔ)配置,路徑別名alias

前言

vue.config.js 是一個(gè)用于 Vue 項(xiàng)目的配置文件,用于自定義項(xiàng)目的構(gòu)建配置。在這個(gè)文件中,你可以修改 webpack 相關(guān)的選項(xiàng),以滿足你的項(xiàng)目需求。
webpack當(dāng)前版本 @5.88.2

在你的項(xiàng)目根目錄下,找到或創(chuàng)建一個(gè)名為 vue.config.js 的文件,根據(jù)以下內(nèi)容進(jìn)行修改:

配置靜態(tài)資源訪問(wèn)路徑

module.exports = {
  // 靜態(tài)資源訪問(wèn)路徑,默認(rèn) '/'
  publicPath: './'
}

配置輸出目錄

module.exports = {
  // 指定構(gòu)建后的輸出目錄,默認(rèn) 'dist'
  outputDir: 'dist'
}

配置開(kāi)發(fā)服務(wù)器啟動(dòng)時(shí)是否自動(dòng)打開(kāi)和端口號(hào)

module.exports = {
   // 配置開(kāi)發(fā)服務(wù)器選項(xiàng)
  devServer: {
    // 開(kāi)發(fā)服務(wù)器啟動(dòng)時(shí)是否自動(dòng)打開(kāi)瀏覽器
    open: true,
    // 端口號(hào)
    port: 3000
  },
}

自定義 webpack 配置:

module.exports = {
  // webpack 的配置對(duì)象
  configureWebpack: {
    // 在這里添加或修改 webpack 的配置
  },
}

配置路徑別名alias

找到 src/assets 文件夾,新建 images、scripts、styles 文件夾
src/assets 文件夾中 logo.png 文件放入 images 文件夾
vue.config.js 配置中中添加以下兩部分代碼:

const path = require('path')
configureWebpack: {
  // 配置Webpack模塊解析的方式,使得你可以通過(guò)模塊名字而不是相對(duì)路徑來(lái)引入模塊
  resolve: {
    // 設(shè)置路徑別名
    alias: {
      '@': path.resolve('src'),
      '@public': path.resolve('public'),
      '@img': path.resolve('src/assets/images'),
      '@js': path.resolve('src/assets/scripts'),
      '@css': path.resolve('src/assets/styles')
    }
  }
}

上述代碼使用 Node.js 的 path 模塊來(lái)處理文件路徑。__dirname 表示當(dāng)前文件所在的目錄。

resolve.alias 下添加你需要的路徑別名。例如,'@' 被配置為指向 src 目錄,表示你可以使用 @ 作為 src 目錄的別名。

配置文件改動(dòng)后需要重新啟動(dòng)開(kāi)發(fā)服務(wù)器,這樣才能讓修改生效。

現(xiàn)在,你可以在你的 Vue 項(xiàng)目中使用路徑別名了。例如,你可以使用 @img 來(lái)引用 src/assets/images 目錄下的圖片。

1.找到 src/App.vue
2.將logo圖片路徑改為以下內(nèi)容后:

<img alt="Vue logo" src="@img/logo.png">

3.將組件引入路徑改為以下內(nèi)容:

import HelloWorld from '@/components/HelloWorld.vue'
  1. 查看效果。

vue.config.js 修改完成后的文件內(nèi)容如下:

const path = require('path')

module.exports = {
  // 靜態(tài)資源訪問(wèn)路徑
  publicPath: './',
  // 指定構(gòu)建后的輸出目錄,默認(rèn)是 'dist'
  outputDir: 'dist',
  // 配置開(kāi)發(fā)服務(wù)器選項(xiàng)
  devServer: {
    // 開(kāi)發(fā)服務(wù)器啟動(dòng)時(shí)是否自動(dòng)打開(kāi)瀏覽器
    open: true,
    // 端口號(hào)
    port: 3000
  },
  // webpack 的配置對(duì)象
  configureWebpack: {
    // 配置Webpack模塊解析的方式,使得你可以通過(guò)模塊名字而不是相對(duì)路徑來(lái)引入模塊
    resolve: {
      // 設(shè)置路徑別名
      alias: {
        '@': path.resolve('src'),
        '@public': path.resolve('public'),
        '@img': path.resolve('src/assets/images'),
        '@js': path.resolve('src/assets/scripts'),
        '@css': path.resolve('src/assets/styles')
      }
    }
  }
}
還可以使用其它的選項(xiàng)來(lái)自定義構(gòu)建行為,具體可以參考 Vue CLI 官方文檔中的 vue.config.js 配置參考。



框架搭建整體流程

點(diǎn)擊下載步驟 1-7 配置完成的完整 Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容