vue.config.js的常用配置

来源:https://www.cnblogs.com/layaling/archive/2019/12/16/12050600.html
-Advertisement-
Play Games

對應生成的dist文件目錄及多頁面配置時的文件目錄如下: ...


const path = require('path')
const glob = require('glob')
const resolve = (dir) => path.join(__dirname, dir)
const PAGES_PATH = './src/pages/*/*.js'

module.exports = {
 //  publicPath: '/test/',  // 設置部署應用包時的基本URL
  publicPath: process.env.NODE_ENV === 'production' ? '/test/' : './', // 開發環境與生產環境的區分
  //outputDir: 'testbuild', // 運行build 時生產的構建文件的目錄,預設'dist'
  // assetsDir: 'assets', // build之後生成的靜態資源放置的目錄,預設''
  // indexPath: 'test/home.html', // build之後生成的index.html的路徑
  // filenameHashing: true, // build之後生成的靜態資源預設情況下加了hash值以控制靜態資源的緩存,預設是true
  // pages: {
  //   index:{
  //     entry: 'src/pages/index/main.js', // page入口
  //     template: 'public/index.html', // public 裡面的文件
  //     filename: 'index.html', // build之後生成的文件及路徑名
  //     title: 'Index Page',
  //     chunks: ['chunk-vendors', 'chunk-common', 'index']
  //   },
  //   page1:{
  //     entry: 'src/pages/page1/main.js', // page入口
  //     template: 'public/page1.html', // public裡面的文件
  //     filename: 'page1.html', // build之後生成的文件及路徑名
  //     title: 'page1', // 使用此項時,// template 中的 title 標簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>
  //     chunks: ['chunk-vendors', 'chunk-common', 'page1'] // 提取出來的通用 chunk 和 vendor chunk
  //   },
  //   page2:{
  //     entry: 'src/pages/page2/main.js', // page入口
  //     template: 'public/page2.html',
  //     filename: 'page2.html', // build之後生成的文件及路徑名
  //     title: 'Index Page',
  //     chunks: ['chunk-vendors', 'chunk-common', 'page2']
  //   }
  // },
  pages:setPages(),
  productionSourceMap: false, // 如果你不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建
  // devServer: {
  //   port: '1111',
  //   // proxy: 'http://localhost:8080'  //告訴開發伺服器將任何未知請求 (沒有匹配到靜態文件的請求) 代理到http://localhost:8080。
  //   proxy: {
  //     '/api': {
  //       //要訪問的跨域的功能變數名稱
  //       target: 'http://localhost:8080',
  //       ws: true, // 是否啟用websockets
  //       secure:false, // 使用的是http協議則設置為false,https協議則設置為true
  //       changOrigin: true, //開啟代理:在本地會創建一個虛擬服務端,然後發送請求的數據,並同時接收請求的數據,這樣客戶端端和服務端進行數據的交互就不會有跨域問題
  //       pathRewrite: {
  //           '^/api': ''
  //       }
  //     }
  //   }
  // },
  chainWebpack: config => {
    /* 自動導入公共文件*/
    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
    types.forEach(
      type => addStyleResource(config.module.rule('scss').oneOf(type))
    )

    /* 添加別名*/
    config.resolve.alias
      .set('@title', resolve ('src/assets/commonPublic/title.vue'))
  }
}

/**
 * 註入公共樣式
 * @param rule
 */
function addStyleResource (rule) {
  rule.use('style-resource')
    .loader('style-resources-loader')
    .options({
      patterns: [
        path.resolve(__dirname, 'src/assets/common.scss') // resolve()返回絕對路徑
      ]
    })
}

/**
 * 多頁面跳轉
 */
function setPages () {
  let pages = {}
  glob.sync(PAGES_PATH).forEach(filepath => {
    let fileList = filepath.split('/')
    let fileName = fileList[fileList.length - 2]

    pages[fileName] = {
      entry: filepath,
      template:`public/${fileName}.html` , // 'public/index.html'
      filename: `${fileName}.html`,
      // title:
      chunks: ['chunk-vendors', 'chunk-common', fileName]
    }
  })
  return pages
}

對應生成的dist文件目錄及多頁面配置時的文件目錄如下:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 目錄 1、認識關係型資料庫 1.1.1 什麼是關係型資料庫 1.1.2 實體關係模型 1.1.3 關係型資料庫管理系統RDBMS 1.1.4 使用SQL語言管理資料庫 1、認識關係型資料庫 資料庫簡而言之就是數據的集合,它是由文件系統存儲數據發展起來的,資料庫系統解決了多人資料庫讀取和寫入的併發性問 ...
  • 1、需求,手動給會員新增京幣,並且添加分配日誌,返回修改是否成功 CREATE DEFINER=`jszapi`@`%` PROCEDURE `p_allot_user_coin`(IN `_member_id` int,IN `_coin` int,OUT `_res` tinyint) BEGI ...
  • 完全分散式集群模式,是真正的生產環境,這裡詳細講解的就是如何搭建一個Hadoop完全分散式集群。 ...
  • https://blog.csdn.net/weixin_38633659/article/details/81667721 這個篇文章已經講得足夠清楚 而且官方的文檔也寫得很好(註意官方網站上的文檔不夠詳細,但官方的《符號表工具iOS版­使用指南》https://bugly.qq.com/v2/s ...
  • 本小節主要講解 HTML 的基礎語法內容,將通過編寫第一個 HTML 頁面來學習 HTML 的基本結構、`` 聲明、元素和註釋等內容。通過本小節的學習可以對 HTML 的基礎語法有個全面的掌握,這也是我們後續學習 HTML 其他內容時必須要用到的。 ...
  • 本小節主要講解 HTML 的基本信息,其中包含 HTML 概念、HTML 發展歷程和 HTML 標準版本的發展歷程。通過本小節的學習可以對 HTML 的含義有個初步的理解,為後續進一步學習 HTML 相關概念打下基礎。 ...
  • Step1. 文檔介紹 1 // vue-cli css預處理文檔: https://cli.vuejs.org/zh/guide/css.html#自動化導入 2 // less文檔: https://www.w3cschool.cn/less/less_variables_overview.ht ...
  • 一、CSS樣式 解決文字過長顯示省略號問題 1、一般樣式 一般 css 樣式,當寬度不夠時,可能會出現換行的效果。這樣的效果在某些時候肯定是不行的,可以修改 css 樣式來解決這個問題。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content- ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...