code-server在非docker中運(yùn)行
在vscode插件官網(wǎng)找到browser preview插件。在右側(cè)邊欄找到Download Extension
下載visx版本的插件塑煎。然后在插件窗口的菜單處點(diǎn)擊從vsix安裝安裝對(duì)應(yīng)文件即可。
注意:如果要使用這種方法典蜕,宿主機(jī)必須已經(jīng)安裝有可執(zhí)行的chrome或chromium瀏覽器。
code-server運(yùn)行在docker內(nèi)
- 在docker內(nèi)安裝chrome運(yùn)行所必須的依賴(lài)庫(kù)(以u(píng)buntu或debian為例):
apt install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 \
libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 \
libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 \
libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 \
libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 \
libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation \
libappindicator1 libnss3 lsb-release xdg-utils wget libgbm-dev
- 更改插件
移除puppeteer-core
依賴(lài)罗洗,改為puppeteer
。
克隆插件源碼钢猛,更改ext-src/browser.ts伙菜,注釋下方代碼:
if (!chromePath) {
this.telemetry.sendEvent('error', {
type: 'chromeNotFound'
});
throw new Error(
`No Chrome installation found, or no Chrome executable set in the settings - used path ${chromePath}`
);
}
更改puppeteer的引入方式:
// const puppeteer = require('puppeteer-core'); // 刪除
const puppeteer = require('puppeteer'); // 改為
最后使用vsce重新打包插件,在code-server內(nèi)導(dǎo)入即可命迈。
更改puppeteer的引入方式是因?yàn)橐宲uppeteer自動(dòng)下載一個(gè)瀏覽器贩绕,而不必依賴(lài) 宿主機(jī)的瀏覽器火的。