ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

npm 常用命令

2022-07-05 17:36:04  阅读:115  来源: 互联网

标签:npm node sum modules 模块 常用命令 app


  npm init: 使用交互方式生成项目的package.json文件。如果项目要用git进行版本管理,最好是创建git仓库后,再执行npm init ,因为npm init 能自动识别这是一个git管理的项目。如果还设置了远程仓库,比如githup,并和远程仓库建立了联系,npm init 会再自动填充package.json中的repository , bugs , 和 homepage字段,非常方便。如果执行完npm init,再初始化项目为git项目,这些字段就要手动添加,比较麻烦。如果觉得交互方式创建package.json文件也比较麻烦,就想使用默认值,可以npm init -y,  一次生成package.json文件

  npm install: 安装包或项目依赖,通常是从npm 仓库安装依赖到项目的node_modules下面,平时也是这么用的。不过,它还可以安装本地依赖。比如本地有一个文件夹sum,它里面有一个package.json.

{
  "name": "sum",
  "version": "1.0.0",
  "main": "index.js"
}

  和index.js文件

module.exports = function sum(a, b) {
    return a + b;
}

  实际上sum文件夹已经变成一个pacckage包了。和sum文件夹同级,mkdir app  && cd app && npm init -y 新建一个app项目,此时引入sum包(依赖),由于是本地依赖,安装的时候要用路径 npm i ../sum ,  安装成功,可以看到app项目的package.json中的dependencies 中有了sum

  "dependencies": {
    "sum": "file:../sum"
  }

  再看node_modules下面,也有了sum依赖,sum文件夹(模块)就会复制到 app 的node_modules中。

   在app项目下,新建index.js, 引入sum,看能不能成功运行

const sum = require('sum');
console.log(sum(1,2));

  node index.js,可以看到输出3,没有问题。

  npm update: 更新项目依赖。如果后面没有参数,直接npm update, 就更新项目中的所有依赖,如果有参数,就是要更新的包名,比如 npm update eslint,  就只更新这一个依赖eslint 。还是拿上面的本地模块sum 来说,稍微给sum加点验证,表示包的更新

module.exports = function sum(a, b) {
    if (a < 0 || b > 100) {
        throw new Error('大了')
    } 
    return a + b;
}

  在app项目中,npm update 或npm update sum, 检查一下node_modules,确认sum依赖更新了。当确,如果在更新之前,知道哪些依赖过期了就更好了,npm outdated, 检查项目中的依赖有没有过期。

  上面使用npm install 安装本地模块有一个问题,那就是如果本地模块正在开发中,它的更新会非常频繁,我们不得不在app项目中不停的npm update, 此时可以使用npm link.

  在npm link 之前,把npm install 的sum依赖卸载,使用的命令是npm uninstall 包名。npm uninstall sum 就可以把sum依赖删除了,可以看到package.json中的dependencies变成了空对象, node_modules下面也没有sum包。

  npm link 模块使用的技术是软链接或快捷方式,使用软链接或快捷方式链接到本地模块。链接一个模块有两步

    1,创建一个全局链接到本地模块。npm 会在全局node_modules文件夹下创建一个链接或快捷方式到本地模块文件夹。在sum文件夹下 npm link, windows 下 C:\Users\Admin\AppData\Roaming\npm\node_modules\sum -> D:\sum,在Linux下  /usr/local/lib/node_modules/sum -> /home/sam/sum,就是在全局node_modules下,创建一个软链接或快捷方式sum,指向本地模块, 也相当于在全局node_modules下安装了sum。

    2,创建一个本地链接。npm 会在使用本地模块的本地项目中,创建一个软链接或快捷方式到全局node_modules中的模块链接。在app项目中,npm link sum,  在windows下面D:\app\node_modules\sum -> C:\Users\Admin\AppData\Roaming\npm\node_modules\sum -> D:\sum, 在linux 下面, /home/sam/app/node_modules/sum -> /usr/local/lib/node_modules/sum -> /home/sam/sum。app中node_modules中的sum链接到全局,全局指向了真实的sum模块。由于都是链接,本地模块的更新能够及时反应到使用本地模块的项目中。

  链接完成,app 下node index.js 就可以启动项目,没有问题,看一下node_modules,它下面有也有了sum。这时修改本地模块sum,把if的校验删掉,此时,再看app下node_modules下面的sum, 它也实时更新了。

  npm unlink 则取消链接模块. 在 app项目下,npm unlink sum, 则取消链接sum模块,node_module变成了空目录。

  

标签:npm,node,sum,modules,模块,常用命令,app
来源: https://www.cnblogs.com/SamWeb/p/16446794.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有