忽略檔案不打包 關於moment打包的那些事

2021-10-14 16:21:28 字數 1764 閱讀 9602

在專案中經常用到moment庫,有沒有發現引入moment之後,專案build完的檔案大小明顯大了不少,下面就來分析一下原因, 以及如何做優化。

首先看下**結構

new webpack.ignoreplugin(/^./locale$/, /moment$/) // 配置忽略規則

]原理:在webpack編譯階段, 如果引入的檔案路徑匹配/^./locale$/,則會忽略這個檔案, 也就不會被打包進去。

在新增webpack.ignoreplugin之後, 檔案大小是減小了, 但是在設定moment.locale('zh-cn')之後, format之後的日期仍然是英文的,語言沒有切換過來。

功能缺失肯定是不能接受的, 怎麼辦?怎麼辦?

在moment文件上也提供了解決方案,moment-locales-webpack-plugin

new momentlocalesplugin()
moment預設locale是en,它必然會被打包進去, 如果需要配置其他語言,可以通過localestokeep來配置, 其他沒用到的語言包也就不會被打包進去了。

如果沒有配置option, 用ignoreplugin忽略所有語言包(en除外)

如果設定option, 用 contextreplacementplugin外掛程式設定webpack在編譯階段的查詢規則,即查詢指定的locale。

...

if (localestokeep.length > 0) );

return new contextreplacementplugin(

/moment[/]locale/,

new regexp('(' + regexppatterns.join('|') + ')$') // 配置webpack編譯階段的查詢規則, 即指定語言包

);} else

...

到此結束。

水平有限,文中有錯誤之處,還望大佬指正。

webpack不打包特定的檔案

使用vue webpack建立專案的時候會自動生成乙個static資料夾,在static資料夾裡面我們可以放一些會經常變化的檔案或者 啥的,但是用的時候需要寫上絕對路徑。由於專案需要,在開發時的介面位址跟部署的介面位址不一致,所以我們要弄成可配置的,即單獨出來乙個js檔案放我們的介面位址,然後希望該...

關於Python打包檔案的步驟

打包檔案 1 首先找到安裝python檔案路徑python3.9 lib site packages 開始輸入cmd,進入目標路徑。2 打包命令如下 使用 pip install pyinstaller。3 安裝好之後,進入需要打包檔案的檔案,使用cmd,進入pycharm2020 pythonst...

關於pyinstaller資料檔案的打包

使用pyinstaller進行打包程式,執行程式時發現,放置於程式目錄的檔案無法載入 相對路徑方式訪問 經過一番測試,發現執行程式時,程式執行的當前目錄不一定是程式檔案所在的目錄。而使用 add data與 add binary打包的檔案,發現存放於系統的臨時目錄。經過一番搜尋,終於找到了獲取資料臨...