欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中SourceMap的使用解讀

 更新時(shí)間:2024年06月06日 10:03:38   作者:儒雅的烤地瓜  
這篇文章主要介紹了Vue中SourceMap的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、概述

Vue.js是一套構(gòu)建用戶界面的漸進(jìn)式框架,通過HTML模板或者直接寫render函數(shù)可以快速開發(fā)單頁應(yīng)用。

在開發(fā)過程中,很多時(shí)候我們需要調(diào)試代碼,追蹤錯(cuò)誤。

Vue官方提供了SourceMap技術(shù),可以幫助我們?cè)阱e(cuò)誤提示信息中直接鏈接到源代碼,從而更方便地進(jìn)行調(diào)試。

在打包壓縮后的JS代碼里,有時(shí)很難找到錯(cuò)誤發(fā)生的位置。

SourceMap是一種映射關(guān)系文件,其中包含了壓縮前和壓縮后的代碼的位置,這個(gè)文件可以幫助我們?nèi)ザㄎ淮a的真實(shí)位置。

二、使用方法

在Vue CLI中默認(rèn)是開啟SourceMap的,只需要在webpack的配置文件中將其設(shè)置為true即可:

module.exports = {
    //...
    productionSourceMap: true
    //...
}

也可以通過vue.config.js文件中進(jìn)行配置:

module.exports = {
    productionSourceMap: true
}

在代碼打包后,壓縮的JS文件會(huì)攜帶SourceMap文件一同發(fā)布到服務(wù)器。

如果你需要禁用它,只需將productionSourceMap設(shè)置為false。

三、生成SourceMap

在開發(fā)過程中,我們可以在webpack的配置文件中設(shè)置devtool選項(xiàng)。

這個(gè)選項(xiàng)配置webpack如何生成SourceMap。

以下是一些選項(xiàng)的示例:

module.exports = {
    devtool: 'source-map'
}

這會(huì)生成一個(gè)外部的source-map文件,在每個(gè)JS文件的末尾添加一個(gè)sourceURL注釋。

這些sourceURL注釋指向source-map文件的位置。

module.exports = {
    devtool: 'cheap-source-map'
}

這種配置方式比上面的選項(xiàng)更快,會(huì)忽略列信息,只有行信息。

它會(huì)生成一個(gè)外部的source-map文件。

只是這個(gè)文件生成的時(shí)候,只包含每個(gè)打包后的模塊的第一行。

module.exports = {
    devtool: 'inline-source-map'
}

這種選項(xiàng)生成一個(gè)base64-encoded inline sourcemap文件,類似于DataUrl。它不會(huì)生成外部的source-map文件。

四、優(yōu)化

然而,開啟SourceMap會(huì)導(dǎo)致一些性能問題,開發(fā)者可以通過一些優(yōu)化配置來減輕這些性能問題。

webpack提供了內(nèi)聯(lián)WebWorker來生成SourceMap,同時(shí)可以使用cache-loader來緩存生成的SourceMap。

module.exports = {
    module: {
        rules: [
            {
              test: /\.(js|vue)$/,
              use: 'cache-loader',
              enforce: true
            }
        ]
    },
    devtool: 'cheap-source-map',
    output: {
        pathinfo: false
    },
    optimization: {
        minimize: true,
        minimizer: [
            new TerserPlugin({
                test: /\.js(\?.*)?$/i,
                cache: true,
                sourceMap: true,
                parallel: true,
                terserOptions: {
                    safari10: true,
                    compress: {},
                    mangle: true
                }
            })
        ]
    },
}

五、結(jié)語

使用Vue SourceMap可以大大提高開發(fā)效率,幫助我們快速定位代碼錯(cuò)誤。同時(shí),為了避免對(duì)性能的影響,需要采取一定的優(yōu)化措施。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vuex中mutations與actions的區(qū)別詳解

    Vuex中mutations與actions的區(qū)別詳解

    下面小編就為大家分享一篇Vuex中mutations與actions的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue中Pinia的各種詳細(xì)說明和使用示例

    Vue中Pinia的各種詳細(xì)說明和使用示例

    Pinia是Vue 3的專屬狀態(tài)管理庫,旨在替代Vuex,提供更簡(jiǎn)單、直觀的狀態(tài)管理解決方案,它支持組合式API和選項(xiàng)式API,允許跨組件或頁面共享狀態(tài),避免了Vuex中的許多復(fù)雜概念,本文介紹Vue中Pinia的各種詳細(xì)說明和使用示例,感興趣的朋友一起看看吧
    2025-01-01
  • vue關(guān)于接口請(qǐng)求數(shù)據(jù)過大導(dǎo)致瀏覽器崩潰的問題

    vue關(guān)于接口請(qǐng)求數(shù)據(jù)過大導(dǎo)致瀏覽器崩潰的問題

    這篇文章主要介紹了vue關(guān)于接口請(qǐng)求數(shù)據(jù)過大導(dǎo)致瀏覽器崩潰的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 測(cè)試平臺(tái)開發(fā)vue組件化重構(gòu)前端代碼

    測(cè)試平臺(tái)開發(fā)vue組件化重構(gòu)前端代碼

    這篇文章主要為大家介紹了測(cè)試平臺(tái)開發(fā)vue組件化重構(gòu)前端代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Vue導(dǎo)入Echarts實(shí)現(xiàn)散點(diǎn)圖

    Vue導(dǎo)入Echarts實(shí)現(xiàn)散點(diǎn)圖

    這篇文章主要為大家詳細(xì)介紹了Vue導(dǎo)入Echarts實(shí)現(xiàn)散點(diǎn)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • vue教程之toast彈框全局調(diào)用示例詳解

    vue教程之toast彈框全局調(diào)用示例詳解

    這篇文章主要為大家詳細(xì)介紹了vue教程之toast彈框全局調(diào)用示例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法

    Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法

    這幾天在開發(fā)中遇見的一個(gè)關(guān)于路由傳參后,頁面刷新數(shù)據(jù)丟失的問題,下面這篇文章主要給大家介紹了關(guān)于Vue路由傳參頁面刷新后參數(shù)丟失原因和解決辦法,需要的朋友可以參考下
    2022-12-12
  • Vue組件間通信 Vuex的用法解析

    Vue組件間通信 Vuex的用法解析

    這篇文章主要介紹了Vue組件間通信-Vuex,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Vue插槽的作用

    Vue插槽的作用

    插槽(slot)是 vue 為組件的封裝者提供的能力。允許開發(fā)者在封裝組件時(shí),把不確定的、希望由用戶指定的部分定義為插槽。可以把插槽認(rèn)為是組件封裝期間,為用戶預(yù)留的內(nèi)容的占位符
    2022-09-09
  • vue如何動(dòng)態(tài)設(shè)置class、動(dòng)態(tài)設(shè)置style

    vue如何動(dòng)態(tài)設(shè)置class、動(dòng)態(tài)設(shè)置style

    這篇文章主要介紹了vue如何動(dòng)態(tài)設(shè)置class、動(dòng)態(tài)設(shè)置style,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評(píng)論