pro-collection / interview-question

目标:收集全网经典面试问题
536 stars 37 forks source link

如何清理源码里面没有被应用的代码, 主要是 JS、TS、CSS 代码【热度: 329】 #785

Open yanlele opened 1 month ago

yanlele commented 1 month ago

关键词:代码清理

清理源码中未被应用的 JavaScript (JS)、TypeScript (TS) 和 CSS 代码的关键在于合理利用工具和策略,来识别和移除这些废弃的代码。下面是一份指南,帮助你高效完成这一任务:

对于 JavaScript 和 TypeScript

1. 使用 ESLint

{
  "rules": {
    "no-unused-vars": "warn"
  }
}

2. 使用 TypeScript 编译器选项

{
  "compilerOptions": {
    "noUnusedLocals": true,
    "noUnusedParameters": true
  }
}

3. 利用 Webpack 的 Tree Shaking

对于 CSS

1. 使用 PurgeCSS

npm install purgecss

使用 PurgeCSS 时,配置你的内容文件路径(如 HTML 或 JSX 文件),它会扫描这些文件以确定哪些 CSS 选择器被使用:

// 一个基本的PurgeCSS配置例子
new PurgecssPlugin({
  paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),
});

使用 Codemods

Codemods 是 Facebook 提出的一种工具,允许你对代码库进行大规模的自动化重构。通过编写特定的脚本,你可以自定义删除或修改未被调用的代码的逻辑。例如,使用 jscodeshift 工具可以配合具体规则进行代码修改。

注意事项

使用这些策略和工具可以帮助自动化清理未使用的代码,但是请注意,完全自动化的过程可能会有风险,依然需要人工审核和测试以确保代码的质量和应用的稳定性。