账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    npm包是不是一定会在当前目录生成依赖
    61
    0
    新人刚接触npm很多理念不清楚,请教例如:我现在已经全局安装了@vue/cli,其文件位于我的npm的根目录但我如果在桌面创建一个文件夹如 /v1/ 之后在其内部使用全局的vue 命令生成一个项目,除了项目本身的src和public等文件,还是会在到当前文件夹内生成/node_modules/~等依赖请问是不是一定会这样,如果是那么假如我创建了 /v1/ /v2/....等多个文件夹内,创建的项目,就相当每个项目文件夹内部都会包含一组相同的node_modules那么我全局安装的意义是什么,或者说,我该如何实现只全局安装一次,就可以复用相关的依赖?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 是的,npm包通常会在当前目录下生成一个或多个依赖项,这是npm的核心功能之一。当您在命令行中运行npm installnpm link命令时,npm会根据您的package.json文件中的依赖关系,查找并下载所需的依赖项。一旦下载完成后,npm会将这些依赖项添加到当前项目的package.json文件中,使得其他依赖项可以通过依赖项列表进行查找和安装。

      以下是一些常见情况,说明npm包如何在当前目录生成依赖项:

      1. 安装特定的包:
      2. 使用npm install <package-name>命令,例如npm install axios,则npm会下载并安装axios模块。
      3. 如果package.json文件中包含了dependencies字段,axios模块将作为一个依赖项被添加到dependencies字段中。
      4. 如果没有在dependencies字段中指定依赖项,npm会搜索当前目录下与axios相关的所有文件,包括package.json文件和npm包的依赖关系列表,寻找并安装所需的依赖项。

      5. 链接依赖项:

      6. 使用npm link <package-name>命令,例如npm link axios,则npm会将axios模块链接到当前项目的package.json文件中。
      7. 如果在package.json文件中指定了dependencies字段,并且npm找到了axios模块,那么npm会将axios模块作为一个依赖项添加到dependencies字段中,使得其他依赖项可以通过dependencies字段进行查找和安装。

      8. 创建公共依赖:

      9. 如果需要创建一个公共依赖项,可以在package.json文件中指定依赖项的依赖信息,例如: json { "dependencies": { "dependencyA": "npm:dependencyA:latest", "dependencyB": "npm:dependencyB:latest", ... } }
      10. 如果需要在其他项目中使用这个公共依赖项,只需要在项目中引用package.json文件中的dependencies字段,并且在其他项目中找到并安装所需的依赖项,如dependencyAdependencyB,即可。

      总之,npm包会根据您在package.json文件中的依赖关系,查找并下载所需的依赖项,这些依赖项会自动添加到当前项目的package.json文件中,使得其他依赖项可以通过依赖项列表进行查找和安装。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部