手頭有多個vue2項目,它們每個都需要一個node_modules,拷貝起來超級麻煩。于是想到能否共享一個node_modules呢??
方法其實挺多,我選擇了一個較簡單的:符號連接法(win11平臺)
創建方法很簡單:比如
項目工程地址:d:\project\projectA;
node_modules地址:d:\data\node_modules
# 創建符號鏈接
mklink /D D:\project\projectA\node_modules\ D:\data\node_modules\
然后就可以愉快的在projectA中執行npm run serve啦
坑:如果創建鏈接時如下寫法:
# 錯誤的創建方式
mklink /d d:\project\projectA\node_modules d:\data\node_modules\
則會在npm run serve時,會提示各種找不到庫的錯誤。
網上搜了好久沒發現,偶爾發現mklink的符號鏈接,并不不是那么簡單。
# 查看鏈接的二進制fsutil reparsepoint query node_modules
會發現以上兩種方式創建的鏈接的細微差別,就是d:\和D:\的區別,汗。據說是webpack對符號鏈接兼容性不行,但那是大佬的事,我們也改不了webpack,哈哈。
因這個問題,卡了一天。。。。。