管理 js 依赖

Managing js dependencies

我们有一个包含遗留前端代码的网站。代码一团糟。加载了不同版本的js框架或库。代码的某些部分具有处理依赖关系的 head js,但结构并不正确。我想重构这段代码,但我真的不知道从哪里开始。你能建议任何处理代码重组的方法吗?有什么技术可以帮助我处理 js 依赖项吗?

您的第一步应该是弄清楚项目正在使用哪些第三方库。如果尚未完成,请将您的第三方库移至 vendor/ 目录或类似目录(并记住相应地更新 URL,否则一切都会中断!)然后使用 code-searching 工具(如果您使用 git) 查找从 CDN 加载的库,git grep 是一个不错的选择。

开始列出您正在使用的所有库、使用它们的文件、版本及其 URL。根据项目的状态,这可能需要大量工作,但能够清楚地看到所有依赖项是值得的。

完成后,您可以开始确保所有内容都从同一位置获取相同版本的库。

从那里开始,很难给出任何有用的具体建议,因为这取决于您的项目。

您的代码搜索工具将是您最好的朋友。它可以大大确保您在进行更改时不会破坏事物。正如我之前提到的,git grep 适用于 git 项目。否则,我建议 the_silver_searcher 或常规 grep.

我还建议仔细研究可能已经用于管理脚本加载的任何系统。 (您提到的 "head js" 听起来很有希望。)即使它完全是垃圾并且很少使用,您也可以挽救并改进它。如果它无法挽救,它仍然是有人试图在那个特定项目中实现的东西。查看您的前任 运行 遇到的问题将帮助您避免 运行 在您使用不同的解决方案前进时遇到相同的问题。

(旁注:尽量不要将遗留代码视为垃圾。在某些时候有人认为这是个好主意。即使他们的想法结果很糟糕。你仍然可以从哪里看到很多东西他们错了,他们错了。)

只要您细心,所有这些都可以让您的团队生活更轻松,而不会影响项目的实际运行方式。 (绝对要确保更新资源的 URL,以便脚本在您移动它们时仍然加载。)