在新項(xiàng)目中,使用了 TypeScript 進(jìn)行開發(fā),但是在啟動(dòng)過程中比較緩慢,所以就去 stackoverflow 上搜索了對應(yīng)的優(yōu)化方式,在回答中,比較高贊的回答是使用 TS_NODE_TRANSPILE_ONLY 參數(shù)去進(jìn)行優(yōu)化。然后去官網(wǎng)上找對應(yīng)參數(shù)的文檔去了解過程中,知道了還有另外一個(gè)方式去優(yōu)化,效率也更高。
這個(gè)效率只是憑自己感官上的計(jì)數(shù),去體驗(yàn)的。未優(yōu)化前,啟動(dòng)時(shí)間大概是 18s
1. 參數(shù) transpileOnly
添加該命令之后,啟動(dòng)時(shí)間縮減到了 7s 左右
1.1 命令行
# 1.
TS_NODE_TRANSPILE_ONLY=true ts-node src/app.ts
# 2.
ts-node -T src/app.ts
# 3. ts-node 版本需大于 10.5.x,不然報(bào)錯(cuò),找不到該選項(xiàng)
# Unknown or unexpected option: --transpileOnly
ts-node --transpileOnly src/app.ts
1.2 tsconfig.json
{
"compilerOptions": {
...
},
"ts-node": {
"transpileOnly": true,
}
}
2. 通過 swc
ts-node 版本不低于 10.5.x,使用后啟動(dòng)時(shí)間大致為 2s
2.1 命令行
ts-node --swc src/app.ts
2.2 tsconfig.json
{
"compilerOptions": {
...
},
"ts-node": {
"swc": true,
}
}