gpt4 book ai didi

java - 在源代码控制的、mavenized 的 java web 应用程序中使用 Bower 是否有最佳实践

转载 作者:行者123 更新时间:2023-11-30 11:18:13 25 4
gpt4 key购买 nike

我对 Bower 很陌生,但对 Web 应用程序开发不是很熟悉。以前,我只是从第三方库/框架下载了所需的 JavaScript 和 CSS 文件,并将它们放入我的 Web 应用程序的 src/main/webapp/scripts(或等效文件夹)中。这可确保仅部署 Web 应用程序所需的文件。

使用我的默认设置,整个 bower_components 目录将提交给源代码控制,如果我按照引用 bower 包的示例,例如,

<script src="/bower_components/jquery/jquery.js"></script>

我最终将使用我的 Web 应用程序部署整个 bower_components 目录。这似乎有点矫枉过正(特别是如果我使用 jQuery UI,因为所有主题都下载到 bower 中)。

是否有将 Bower 与 Web 应用程序一起使用的最佳实践,以使该应用程序不会因不必要的第三方库文件而变得臃肿?请记住,这也是 Java 和 Maven 网络应用程序。

最佳答案

看到你在这个问题上标记了 maven,在尝到了 maven 依赖管理的好处之后,我完全不同意检查 3rd 方库:) 不管它是 jar 还是 js。

这是我们在工作中一直试图调和的东西,因为在 Maven 中似乎没有一种自然的方式来处理 js 依赖关系。专门针对 Bower,这里看起来有一个很好的 Maven 插件:

https://bitbucket.org/cofarrell/bower-maven-plugin

您可以为其指定目标目录。我还没有使用过它,但我想让它把 js 文件带到我的目标目录中,这样我就不必把它放在我的源代码中了。如果我们继续推进,这就是我的设想。


如果您感兴趣,我还有更多要补充的(因为关于这个主题的内容不多)...我们目前正在使用 maven“js” Artifact ,因此我们可以利用 maven 的依赖管理与我们的第 3 方 js。我们 fork 来为我们执行此操作的插件位于:

https://github.com/cameroncan/js-import-maven-plugin.

它完成了它的工作,但它是为我们的用例而构建的。如果您发现需要通用化,请提交问题。我们确实必须手动将这些 Artifact 上传到 nexus,但这并不是什么大问题。

使用 maven 依赖机制的一大优势是传递依赖解析。我们将 js 分解成不同的模块,如果没有 maven,可能会与我们的 js 文件的版本发生冲突,导致最终应用程序出现大困惑,将所有 js 依赖项拉入。

关于java - 在源代码控制的、mavenized 的 java web 应用程序中使用 Bower 是否有最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com