您可以在不修改“package.json”、“yarn.lock”或“package-lock.json”的情况下向 nodejs 应用程序添加依赖项吗?

Can you add a dependency to a nodejs app without modifying `package.json`, `yarn.lock`, or `package-lock.json`?

我有一个 nodejs 应用程序,它需要一个节点模块 "A",该模块可在 ./node_modules 中的本地机器上使用。我可以在 app.js 中 require("A") 而不指定 "A" 存在于 package.jsonyarn.lockpackage-lock.json 中吗?

每次您在应用程序中添加或删除依赖项时,package-lock.jsonyarn.lock 都会被修改。每当您使用 npmyarn 时,它们都会以更简单的方式分别修改这些锁定文件。

您可以在 package.json 中编辑的唯一文件两个包管理器都将此文件作为输入,检测其中列出的所有包,然后安装它们(包括每个包的进一步依赖项)。现在回到你的问题,是的,你可以将文件夹添加到 node_modules 而无需在 package.json 中提及它并且 require 将按你想要的方式工作,但有一些缺点,例如每当你之后使用 npm 或 yarn 时,它们都会从 node_modules 中删除 folder/file,因为它没有在 package.json 中提及。此外,在构建项目的情况下,只有 package.json 中提到的文件与构建捆绑在一起,因此您的文件可能不会被捆绑。