date: 2020-11-29
update: 2020-11-29
weather: 多云
這兩天升級(jí)了下電腦,重新分了區(qū),作為一個(gè)重度磁盤(pán)潔癖,把各個(gè)盤(pán)的任務(wù)安排的明明白白。
在配置開(kāi)發(fā)環(huán)境的時(shí)候犯了難。以往會(huì)在磁盤(pán)上新建一個(gè)workspace作為開(kāi)發(fā)目錄,全局安裝node進(jìn)行開(kāi)發(fā)。這樣很方便,終端打開(kāi)就是一頓唆。但是node版本迭代很快,windows下的nvm也不太好用。作為一個(gè)磁盤(pán)潔癖,系統(tǒng)環(huán)境變量亂飛也是一件很難忍受的事,所以想把開(kāi)發(fā)環(huán)境和windows宿主環(huán)境隔離開(kāi)。
首先想到docker。拉了最新的ubuntu鏡像,在容器配置好開(kāi)發(fā)環(huán)境,掛載workspace。在宿主環(huán)境寫(xiě)代碼,在容器內(nèi)部編譯打包。確實(shí)隔離了環(huán)境,但是性能很拉跨,甚至無(wú)法進(jìn)行熱更新。而且這個(gè)ubuntu鏡像太精簡(jiǎn),需要配置很多東西,容易引起bug。
然后是windows10集成的linux子系統(tǒng),新版本的win10已經(jīng)使用第二代 wsl2 , 按照 官方教程 進(jìn)行配置,這里強(qiáng)烈推薦安裝教程中提到的 Windows Terminal, 是我在windows平臺(tái)上使用過(guò)的最好的終端,進(jìn)入linux環(huán)境后還能安裝on-my-zsh,可以說(shuō)windows下也有了一款能打的終端。

如果在安裝docker中也啟用了wsl2,可以通過(guò)wsl -s ubuntu設(shè)置ubuntu為默認(rèn)wsl2分發(fā),然后在win10終端輸入wsl或bash可以直接進(jìn)入ubuntu系統(tǒng)。
接下來(lái)配置vscode,在win10宿主機(jī)vscode上安裝docker、remote wsl、remote containers三個(gè)插件,vscode右下角會(huì)顯示子系統(tǒng)ubuntu的名稱(chēng),點(diǎn)擊后可打開(kāi)ubuntu內(nèi)部的文件。

如何在win10資源管理器查看子系統(tǒng)文件?打開(kāi)資源管理器切換到網(wǎng)絡(luò),啟用網(wǎng)絡(luò)發(fā)現(xiàn),在地址欄敲\\wsl$\可鏈接到本地已存在的分發(fā)。

另外,子系統(tǒng)中也是可以使用宿主機(jī)的docker,十分方便。
性能方面,項(xiàng)目啟動(dòng)的速度和在宿主機(jī)比較沒(méi)有感到差別,十分滿(mǎn)意。
wls2目前的體驗(yàn)已非常完美,和在linux下開(kāi)發(fā)的差別僅在于多輸一句wsl進(jìn)入環(huán)境。微軟近幾年在開(kāi)源動(dòng)作頻頻,相信windows下的開(kāi)發(fā)體驗(yàn)會(huì)越來(lái)越好。