将 javascript/npm 库与依赖项捆绑在一起

问题描述

问题将在我当前的用例中得到演示,将 cytoscape.js 与依赖项(布局及其各自的依赖项)捆绑在一起,但答案不应仅限于此用例。 此外,答案可能会使用其他依赖管理工具或捆绑器,而不是我在问题中提到/尝试过的。


我对在 JS 环境中使用 npm/yarn 或其他依赖项管理系统的可能性感兴趣,以获取具有相应依赖项的项目依赖项(依赖项树的完整深度)并能够将它们捆绑到非 JS 应用程序中,此类包可用于标准 HTML/CSS/JS 应用程序(无论服务器端语言如何)

我目前正在使用 Cytoscape.js 在我的应用程序中渲染图形。由于我想为用户提供更改图形布局的选项,因此我使用了 cytoscape.js (https://js.cytoscape.org/#extensions/layout-extensions) 支持的多个布局扩展。即可乐、cise 和 dagre (d3)

在我的案例中,包含扩展和所需依赖项的完整 cytoscape 包有 8 个文件我有时从 github 存储库(通常是 dist 文件夹或 releases)获得,有些来自 CDN(例如 cdnjs ) 或来自相应的项目演示页面。原因是并非所有依赖项都在存储库、cdn 或其他地方很好地命名和提供发布文件

我希望有可能,创建js项目(使用npm/yarn),添加我需要的依赖项,让npm/yarn找出项目中所有依赖项的正确最新版本,并让bundler创建单个缩小和未损坏的 javascript 文件,可以在标准的 javascript/jquery 前端代码中使用,而不必在同一个项目中编写 my-app javascript

问题是,是否可以自动打包js项目依赖,并提供js bundle,可以在非js应用中使用?(比如类似于Jquery UI Download Builder最后提供)

在我看来,优化结果包(大小)是不可能的,因为打包过程不能假设使用或不使用依赖项的哪些部分,它当然可以缩小,但修改符号是不可能的。


链接

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)