前言
如果直接在服務(wù)器部署Source Map文件,會有一個問題是暴露源碼,這是絕對不可容忍的当悔,但是如果不上傳Source Map文件就會有調(diào)試?yán)щy的問題傅瞻,我們無法第一時間看到出錯位置,只能是大致猜測盲憎,或者dev工程嗅骄,但是有時候無法復(fù)現(xiàn)生產(chǎn)服務(wù)器的bug。
解決辦法
我們修改js文件的sourceMappingURL
饼疙,指向127.0.0.1
或者內(nèi)網(wǎng)的服務(wù)器溺森,就可以解決這個問題。
實操
vue.config.js
加入:
const { SourceMapDevToolPlugin } = require("webpack");
......
chainWebpack(config) {
config.devtool(false).end();
config
.plugin("SourceMapDevToolPlugin")
.use(SourceMapDevToolPlugin)
.tap((args) => {
return [
{
filename: "[file].map",
publicPath: "http://127.0.0.1:5500/",
},
];
});
},
其中http://127.0.0.1:5500/
可以自定義窑眯。
build項目之后屏积,將.js.map文件備份到專門目錄下
不管你是命令行備份還是復(fù)制粘貼備份,總之備份好磅甩,按照build版本分目錄儲存炊林。其實作為一個非混子前端,你應(yīng)該每次備份全量的dist文件卷要。
本地安裝一個Server軟件
隨便什么Server軟件铛铁,將http://127.0.0.1:5500/
指向正確的備份目錄即可。
生產(chǎn)部署不要部署.js.map文件
這里理所當(dāng)然的却妨,你應(yīng)該屏蔽.js.map的部署饵逐,這很重要。