使用 NPM 管理文件依赖项

     2023-03-08     189

关键词:

【中文标题】使用 NPM 管理文件依赖项【英文标题】:Manage file dependencies with NPM 【发布时间】:2015-04-06 00:03:20 【问题描述】:

我正在与一个中型团队一起开发一个大型前端应用程序。到目前为止,我们一直在使用 requirejs 和 AMD 模块来管理我们约 500 个文件的项目。由于各种原因,我们最近决定迁移到 commonjs 并使用 NPM 作为我们的包管理器。这是我的问题:

如何将一个随机的、单独的框架文件(又名 jquery 插件)合并到我们的 package.json 中?

例如,我们使用这个随机jquery颜色选择器https://github.com/laktek/really-simple-color-picker/blob/master/jquery.colorPicker.min.js

但是 github 上的 repo 没有 package.json,所以使用 NPM 内置的 git awesomeness 是行不通的。那么我应该怎么做呢?我一直在尝试使用它的 'file:../../' 语法,但我认为它希望我指向一个节点模块文件夹,我不确定如何最好地设置它。

奖金问题

如何处理“垫片”,例如我希望我的观点引用“淘汰赛”,但实际上是引用一个文件,该文件本身包含淘汰赛并添加我们所有的插件和自定义优势,然后重新导出淘汰赛

感谢您的任何帮助!

【问题讨论】:

您可以创建和管理个人 NPM 包,以保留或提供您想要的任何内容。 You could even manage private repos 【参考方案1】:

如何将一个随机的、单独的框架文件(也称为 jquery 插件)合并到我们的 package.json 中?

首先,提交一个问题并要求维护者支持一些包管理器。 npm 会很好,但即使是 bower 也可以。抓取随机文件的旧时代早已一去不复返了。

其次,如果作者不遵守,请考虑分叉他们的代码并将其发布到 npm 或 bower 为他们/为你。考虑到至少在 npm 和 bower 之一中可用的数千个包,我认为这是反对在我的项目中使用该软件的主要危险信号。

第三种选择只是下载他们的文件并将其放入您的 git 存储库中,然后通过 the browser field in package.json 引用它:

"browser": "colorPicker": "./thirdParty/jquery.colorpicker.js"

如何处理“垫片”,例如我希望我的观点引用“淘汰赛”,但实际上是引用一个文件,该文件本身包含淘汰赛并添加我们所有的插件和自定义优势,然后重新导出淘汰赛

这正是 browserify-shim 在用作 browserify 转换时所做的事情。

在处理所有生态系统和 hack 时会有一些学习曲线和/或挫败感,但最终我已经能够使用正确的 browserify 和 browserify-shim 配置来使用几乎所有东西,包括 jquery、jquery 插件,angularjs,以及几乎所有来自 bower 的包。

如果您遇到问题,请发布一个单独的问题,详细说明您遇到问题的原因。

【讨论】:

使用本地 npm 依赖项设置 docker nodejs 应用程序

】使用本地npm依赖项设置dockernodejs应用程序【英文标题】:Settingupdockernodejsapplicationwithlocalnpmdependencies【发布时间】:2017-11-2301:35:04【问题描述】:我们想开始容器化我们的应用程序,但我们偶然发现了一些与本地依赖项有关的... 查看详情

为 Node.JS + NPM 使用备用依赖项列表

】为Node.JS+NPM使用备用依赖项列表【英文标题】:UseanalternatedependencylistforNode.JS+NPM【发布时间】:2012-01-1817:05:34【问题描述】:单个NodeJS项目是否可以有两个package.json文件?在我正在进行的一个项目中,有一个可选的实验性功能... 查看详情

子文件夹中的 Node.js npm 依赖项

...der【发布时间】:2014-11-1223:03:06【问题描述】:我有一个使用node-webkit的项目。node-webkit允许使用npm包来开发桌面应用程序。我使用grunt来构建我的应用程序。目前我的文件夹结构是这样的:projectrootnode_modules/(1)package.json(1)App/ 查看详情

NPM 仅安装后依赖项

...encies【发布时间】:2020-12-2821:17:22【问题描述】:我正在使用git分发一个内部TypeScriptNPM包。由于我不想在我的存储库中包含构建文件,因此我在安装包时使用安装后操作来构建包:"postinstall":"tsc-ptsconfig.json"要构建我的包,需要... 查看详情

如何识别哪些 npm 包只是对等依赖项?

...描述】:我正在尝试从几个项目的package.json文件中删除未使用的包,但我遇到了对等依赖项的问题。有一些工具,例如depcheck,会尝试列出所有“未使用”的包,但它不会区分实际未使用的包和未使用的包,因为它们是对等依 查看详情

如何使用 npm 重新安装应用程序的依赖项?

】如何使用npm重新安装应用程序的依赖项?【英文标题】:Howdoyoureinstallanapp\'sdependenciesusingnpm?【发布时间】:2012-10-0316:58:47【问题描述】:有没有一种简单的方法来重新安装我的应用所依赖的所有包(即它们在我的应用节点模... 查看详情

如何通过 NPM 管理非节点模块作为 Node Project 的依赖项?

...布时间】:2020-04-1509:05:03【问题描述】:我在我的项目中使用bower进行依赖管理。但现在我想转向node和npm。但问题是我的依赖很少不是像Smooth-Div-Scroll1和swiftype-search- 查看详情

在 npm 包中使用对等依赖项

】在npm包中使用对等依赖项【英文标题】:Usingapeerdependencyinnpmpackage【发布时间】:2020-07-0510:46:51【问题描述】:我在一个充满实用功能的npm包中将momentjs列为对等依赖项。这些功能之一使用矩。"peerDependencies":"moment":"2.x.x",以下... 查看详情

为啥在 npm 中为插件使用对等依赖项?

】为啥在npm中为插件使用对等依赖项?【英文标题】:Whyusepeerdependenciesinnpmforplugins?为什么在npm中为插件使用对等依赖项?【发布时间】:2014-12-3112:01:25【问题描述】:例如,为什么Grunt插件将其对grunt的依赖定义为“peerdependencie... 查看详情

npm 安装许多依赖项

...文件里面。我想安装另一个我喜欢的软件包,但决定为此使用npm。当我输入时:npcinstallpnotifynode_modules已创建,其中包含大约900个目录以及其他包。那 查看详情

使用 Node 8.9.4 LTS 安装 Sails.js 依赖项时,NPM“ENOENT:没有此类文件或目录错误”

】使用Node8.9.4LTS安装Sails.js依赖项时,NPM“ENOENT:没有此类文件或目录错误”【英文标题】:NPM"ENOENT:nosuchfileordirectoryerror"wheninstallingSails.jsdependencieswithNode8.9.4LTS【发布时间】:2018-07-0106:35:44【问题描述】:我最近将我的... 查看详情

使用 github 操作缓存 npm 依赖项

】使用github操作缓存npm依赖项【英文标题】:Cachingnpmdependencywithgithubaction【发布时间】:2021-01-2108:39:55【问题描述】:我想缓存npm依赖项,这样我就不会在每次推送时都执行npminstall而只是从缓存中加载它。我认为githubaction现在... 查看详情

如何使用 NPM 更新开发依赖项?

】如何使用NPM更新开发依赖项?【英文标题】:HowdoIupdatedevelopmentdependencieswithNPM?【发布时间】:2014-09-2603:13:54【问题描述】:这是我package.json的一部分:..."devDependencies":"gulp":"~3.8",...,...我正在运行以下命令:gulp--versionCLIversion3.8... 查看详情

在 Heroku 上使用带有 npm 和 Node 的 Git 依赖项

】在Heroku上使用带有npm和Node的Git依赖项【英文标题】:UseGitdependencieswithnpmandNodeonHeroku【发布时间】:2012-01-0419:46:36【问题描述】:我有这个package.json文件:"name":"application-name","version":"0.0.1","private":true,"dependencies":"coffee-script":"1.1 查看详情

从私有 gitlab 存储库中使用 npm 安装依赖项

】从私有gitlab存储库中使用npm安装依赖项【英文标题】:Installdependencieswithnpmfromprivategitlabrepo【发布时间】:2019-06-2114:51:24【问题描述】:我正在尝试安装一个存在于我们私人仓库中的包。目标是与合作伙伴共享存储库,但我需... 查看详情

在 Jenkins 管道上缓存 NPM 依赖项

...【发布时间】:2018-04-0220:38:30【问题描述】:我们都知道使用npm下载依赖项可能非常耗时,尤其是当我们受限于旧的npm版本时。对我来说,作为一名开发人员,这没什么大不了的,因为我不得不在我的本地开发机器上执行此操作... 查看详情

在 circleci 中缓存 npm 依赖项

...我想缓存依赖项,这样每次推送就不需要4分钟加载。我使用了他们描述的缓存方案he 查看详情

为啥某些依赖项无法使用 npm 安装,而是使用 bower 安装,反之亦然

】为啥某些依赖项无法使用npm安装,而是使用bower安装,反之亦然【英文标题】:Whysomedependenciesarenotabletoinstallusingnpmbutinsteadbowerandviceversa为什么某些依赖项无法使用npm安装,而是使用bower安装,反之亦然【发布时间】:2019-06-2314:... 查看详情