webpack 打包後的dist文件進行特殊性修改

一、webpack打包文件——dist

dist文件默認是webpack打包之後的最外層文件夾。一個web前端項目,往往會有比較多的文件,而圖片、js、css都是必須的,當然如果是擴展的話,還有很多其他的文件,比如說字體,html,ts,html,jsx等。比如下圖的目錄結構:

 

二、加密或者路徑或者其它需求

當文件需要加密的時候,就需要將代碼中的一些敏感信息加密。這個時候,我們往往不需要將全部的js代碼變成加密的,全數加密,往往在一定的加密方式下都會將文件增大不少。這個時候就可能需要對其中的一些敏感代碼加密即可了。比如說直接將與後端交互的代碼(簽名或者token類)加密就可以。那我們打包完成以後,將需要加密的代碼在dist文件中找出來,替換成爲我們加密的代碼再發布出去。再或者直接對測試環境的代碼和線上的代碼路徑區分,由於圖片的路徑或者多頁面的時候需要引入一些外部的css或者js,直接引入後路徑也可能在cdn的方式下,測試環境和正式環境不一樣。

 

三、原理

其實原理非常簡單,就是利用webpack的插件功能,再配合nodejs對文件的處理方式,就可以完成對dist文件的修改了。

 

四、舉例子

webpack4.0以後的版本,引入一個vue.config.js文件,在插件中添加一個新方法,如下:

localFilterPlugin的js文件是一個對dist文件操作的文件。configureWebpack是vue傳遞的第三方插件方式,而webpack不需要這個。

文件內容如下:

 

主要就是利用了webpack的‘after-emit’(生成html目標文件後觸發)方法,在文件生成的時候接着往下走,找到需要的js文件(需要其他類型的文件也是一樣操作,比如css文件),配上對字符串的操作(正則比較多),輕鬆替換文件內的內容。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章