【问题标题】:Managing js dependencies管理js依赖
【发布时间】:2017-01-12 05:42:32
【问题描述】:

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

【问题讨论】:

  • 你为你正在加载的框架或库使用什么样的依赖管理器?因为你没有提到它,我建议你看看 npm 和 bower。您还可以在您自己的每个库上使用带有 git 的版本控制,并使用这些依赖管理器来要求它们。
  • 这是一个……大问题。在我目前正在进行的项目中,我不得不处理这样的情况,并且有很多方法可以解决这个问题。您是否已经在项目中或其他地方使用了特定技术来处理依赖项(例如 webpack、browserify、RequireJS 等)?您目前有构建步骤吗?

标签: javascript dependencies structure frontend


【解决方案1】:

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

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

完成此操作后,您可以开始确保所有内容都从同一个地方获取相同版本的库。

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

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

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

(旁注:尽量不要将遗留代码视为垃圾。有人在某些时候认为这是个好主意。即使他们的想法结果很糟糕。你仍然可以从他们的去向中获得很多错误的地方和他们正确的地方。)

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

【讨论】:

  • 我接受这个是因为你已经讨论了我将如何处理这种情况并给了我一些关注点以及可以帮助我重构代码的事情。谢谢
猜你喜欢
  • 2021-11-18
  • 2021-09-09
  • 2011-03-13
  • 2013-06-15
  • 2011-11-24
  • 2010-09-13
  • 2011-09-04
  • 2011-07-09
相关资源
最近更新 更多