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

Vue?cli3?chainWepack使用方法示例詳解

 更新時間:2023年11月09日 11:41:20   作者:程序員海軍  
這篇文章主要為大家介紹了Vue?cli3?chainWepack使用方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

loader

在項目開發(fā)中我們難免碰到需要對webpack配置更改的情況,這就需要對 loader 進(jìn)行配置。

定義

l o a d e r讓webpack能夠去處理那些非JavaScript文件(webpack自身只理解JavaScript)。loader可以將所有類型的文件轉(zhuǎn)換為webpack能夠處理的有效模塊,然后你就可以利用webpack的打包能力,對它們進(jìn)行處理。

本質(zhì)上,webpackloader將所有類型的文件,轉(zhuǎn)換為應(yīng)用程序的依賴圖(和最終的bundle)可以直接引用的模塊。

在webpack配置中定義loader時,要定義在module.rules中,而不是rules*。*

在配置文件中webpack.config.js加入module屬性,該屬性是一個對象,在這個屬性中有一個rules字段。

rules是一個數(shù)組,所有的loader配置都可以寫在這個數(shù)組里,每個loader配置是一個對象。

module:{
    rules:[{
      test:/.js$/,
      use:[{
        loader:'babel-loader',
        options: {
        presets: [
         "es2015", "react"
        ],
        plugins: ["syntax-dynamic-import"]
     }
      }]
    }]
  }

每個 loader 對象配置屬性如下:

  • test :test 是 一個 正則表達(dá)式, 用來匹配不同的類型文件
  • use: use 是 一個 數(shù)組,里面存放使用的 loader 。 當(dāng)匹配到文件后,將會按use 里面存放的 loader 去解析處理文件的內(nèi)容。

如果使用的是loader的默認(rèn)配置,可以寫use:'css-loader','style-loader';

如果是需要用到額外配置則需要寫成對象,講配置寫在options里;

 use:[{
        loader:'babel-loader',
        options: {
          presets: [
           "es2015", "react"
          ],
          plugins: ["syntax-dynamic-import"]
     		}
   }]

使用這些loader 時,必須先安裝它們。

多環(huán)境切換 loader 配置

如果你需要基于環(huán)境有條件地配置行為,或者想要直接修改配置,那就換成一個函數(shù) (該函數(shù)會在環(huán)境變量被設(shè)置之后懶執(zhí)行)。該方法的第一個參數(shù)會收到已經(jīng)解析好的配置。在函數(shù)內(nèi),你可以直接修改配置,或者返回一個將會被合并的對象:

// vue.config.js
module.exports = {
 configureWebpack: config => {
  if (process.env.NODE_ENV === 'production') {
   // 為生產(chǎn)環(huán)境修改配置...
  } else {
   // 為開發(fā)環(huán)境修改配置...
  }
 }
}

使用 configureWebpack 簡單配置

/ vue.config.js
module.exports = {
 configureWebpack: {
  plugins: [
   new MyAwesomeWebpackPlugin()
  ]
 }
}

該對象將會被 webpack-merge 合并入最終的 webpack 配置。

使用 chainWebpack 高級配置

Vue CLI 內(nèi)部的 webpack 配置是通過 webpack-chain 維護(hù)的。這個庫提供了一個 webpack 原始配置的上層抽象,使其可以定義具名的 loader 規(guī)則和具名插件,并有機(jī)會在后期進(jìn)入這些規(guī)則并對它們的選項進(jìn)行修改。

它允許我們更細(xì)粒度的控制其內(nèi)部配置。

1. 修改loader

// vue.config.js
module.exports = {
 chainWebpack: config => {
  config.module
   .rule('vue')
   .use('vue-loader')
    .loader('vue-loader')
    .tap(options => {
     // 修改它的選項...
     return options
    })
 }
}

2. 添加新的loader

// vue.config.js
module.exports = {
  chainWebpack: config => {
    // GraphQL Loader
    config.module
      .rule('graphql')
      .test(/.graphql$/)
      .use('graphql-tag/loader')
        .loader('graphql-tag/loader')
        .end()
      // 你還可以再添加一個 loader
      .use('other-loader')
        .loader('other-loader')
        .end()
  }
}

3.替換一個規(guī)則里的 Loader

如果你想要替換一個已有的[基礎(chǔ) loade,例如為內(nèi)聯(lián)的 SVG 文件使用 vue-svg-loader 而不是加載這個文件:

// vue.config.js
module.exports = {
  chainWebpack: config => {
    const svgRule = config.module.rule('svg')
    // 清除已有的所有 loader。
    // 如果你不這樣做,接下來的 loader 會附加在該規(guī)則現(xiàn)有的 loader 之后。
    svgRule.uses.clear()
    // 添加要替換的 loader
    svgRule
      .use('vue-svg-loader')
        .loader('vue-svg-loader')
  }
}

4. 引用全局共用的樣式文件

module.exports = {
 // ...
 css: {
  loaderOptions: {
   sass: {
    // 根據(jù)自己樣式文件的位置調(diào)整
    data: `@import "@src/css/base.scss";`
   }
  }
 }
};

以上就是Vue cli3 chainWepack使用方法示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue cli3 chainWepack使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot+vue實現(xiàn)文件上傳下載

    springboot+vue實現(xiàn)文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了springboot+vue實現(xiàn)文件上傳下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • vue和webpack安裝命令詳解

    vue和webpack安裝命令詳解

    這篇文章主要介紹了vue和webpack安裝命令,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • vue項目初始化到登錄login頁面的示例

    vue項目初始化到登錄login頁面的示例

    今天小編就為大家分享一篇vue項目初始化到登錄login頁面的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue訪問未定義的路由時重定向404問題

    vue訪問未定義的路由時重定向404問題

    這篇文章主要介紹了vue訪問未定義的路由時重定向404問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue中實現(xiàn)v-for循環(huán)遍歷圖片的方法

    Vue中實現(xiàn)v-for循環(huán)遍歷圖片的方法

    這篇文章主要介紹了Vue中實現(xiàn)v-for循環(huán)遍歷圖片的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 使用vue實現(xiàn)HTML頁面生成圖片的方法

    使用vue實現(xiàn)HTML頁面生成圖片的方法

    這篇文章主要介紹了使用vue實現(xiàn)HTML頁面生成圖片的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • vue3使用element-plus搭建后臺管理系統(tǒng)之菜單管理功能

    vue3使用element-plus搭建后臺管理系統(tǒng)之菜單管理功能

    這篇文章主要介紹了vue3使用element-plus搭建后臺管理系統(tǒng)之菜單管理,使用element-plus el-tree組件快速開發(fā)樹形菜單結(jié)構(gòu),el-tree組件中filter-node-method事件便可以實現(xiàn)樹形菜單篩選過濾功能,需要的朋友可以參考下
    2022-04-04
  • Vue2集成ElementUI實現(xiàn)左側(cè)菜單導(dǎo)航功能

    Vue2集成ElementUI實現(xiàn)左側(cè)菜單導(dǎo)航功能

    本文主要記錄兩個菜單的生成方式,通過在前端router/index.js中直接進(jìn)行配置,后端返回菜單數(shù)據(jù)進(jìn)行對應(yīng),可以通過后端返回的菜單數(shù)據(jù)控制權(quán)限,另一種是部門靜態(tài)導(dǎo)航,然后再拼接動態(tài)導(dǎo)航,生成完成頁面導(dǎo)航,感興趣的朋友一起看看吧
    2025-04-04
  • Vue虛擬DOM詳細(xì)介紹

    Vue虛擬DOM詳細(xì)介紹

    虛擬DOM的概念是通過狀態(tài)生成一個虛擬節(jié)點樹,然后使用虛擬節(jié)點樹進(jìn)行渲染。在渲染之前,會使用新生成的虛擬節(jié)點和上一次生成的虛擬節(jié)點進(jìn)行對比,只渲染不同的部分
    2022-08-08
  • vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法

    vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法

    這篇文章主要介紹了vue中上傳視頻或圖片或圖片和文字一起到后端的解決方法,需要的朋友可以參考一下
    2019-12-12

最新評論

普兰店市| 石阡县| 盐山县| 鄯善县| 贵南县| 宝清县| 宁化县| 都安| 嘉禾县| 抚松县| 舞钢市| 房山区| 霍州市| 建昌县| 那曲县| 五原县| 杨浦区| 辛集市| 台湾省| 津南区| 古浪县| 任丘市| 南部县| 井冈山市| 邓州市| 织金县| 习水县| 太仓市| 江孜县| 栖霞市| 外汇| 都昌县| 六枝特区| 赣州市| 师宗县| 黑山县| 贡嘎县| 锦屏县| 泰来县| 普陀区| 青浦区|