npm的基本使用

记录一下npm常用的使用命令,方便快速查阅。

本地包安装

安装

如果需要在项目里通过require()的方式引入包,则需要本地安装依赖。

npm install <package_name>

下载的依赖包会出现在项目根目录下的node_modules文件夹下。

如果package.json里有依赖包的依赖记录,install子命令会下载符合semver规则的最新版本,否则install会下载依赖包的最新latest版本。

依赖在安装时同步到package.json,下次直接使用npm install就能安装对应的依赖了。

其中,使用--save-S同步项目依赖到dependencies

npm install <package_name> --save

使用--save-dev-D同步开发依赖到devDependencies

更新

可以不定时查看依赖包是否过期。

npm outdated

进行依赖更新。

npm update

卸载

卸载不需要的依赖包。

npm uninstall <package_name>

同步删除package.json中的配置。

npm uninstall <package_name> --save

删除开发依赖使用--save-dev

全局安装包

安装

如果想要在命令行中使用包(比如grunt等打包用的包),可以进行全局安装。

npm install -g <package_name>

更新

查看需要更新的包。

npm outdated -g --depth=0

更新全局包。

npm update -g

更新npm.

npm install npm@latest -g

卸载

npm uninstall -g <package_name>

如果反馈EACCES error,参考:How to Prevent Permissions Errors

创建包

初始化

初始化包,并根据回答提示生成package.json。

npm init

也可以直接生成默认版本:

npm init -yes 

配置package.json

package.json放在项目的根目录下,用来记录包的一些基本信息以及管理依赖包。

{
  "name": "my-awesome-package",
  "version": "1.0.0"
}

如上所说,package.json可以在npm init时,根据提示生成。如果想要自定义回答提示,可以修改~/npm-init.js

module.exports = {
  customField: 'Custom Field',
  otherCustomField: 'This field is really cool'
}

更复杂的自定义尝试使用 init-package-json

发布前

发布包前,最好能了解一下npm的包策略

发布包需要登陆账号,如果没有,可以先创建。

npm adduser

访问网站来验证注册是否成功:https://npmjs.com/~username

有了账号,就可以登陆了。

npm login

验证登陆的账号是否符合预期。

npm whoami

.gitignore.npmignore中的文件将不会被发布。

项目根目录下最好能有readme.md,用来描述项目及使用方法。

发布

发布项目。

npm publish

访问:https://npmjs.com/package/<package>,会发现包的readme.md信息被展示,那么包就成功发布了!

更新

包被修改后,可以进行更新发布。

发布前,需要先迭代版本。

npm version <update_type>

其中,<update_type>majorminorpatch值之一。

命令会更新package.json中的version字段值。

版本详情查看:semantic versioning

更新版本号后,就可以发布了。

npm publish

通过访问https://npmjs.com/package/<package>会发现包版本被更新了。

如果只更新readme.md也需要更新版本并发布。

常用命令

更多命令参考:npm doc

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 7,944评论 0 9
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,264评论 2 36
  • 大家好,我是IT修真院深圳分院第3期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网前端工程师...
    大大头大阅读 2,971评论 0 1
  • 1、npm是什么? NPM (node package manager),通常称为node包管理器。顾名思义,它的...
    徐国军_plus阅读 7,086评论 1 6
  • 家里从外地来了亲戚,我们一起聚到住在繁华地段的二哥家,又一起到对面红小巷口的鱼火锅去吃饭,夏天虽然很热,偏好火锅的...
    林夕枫起阅读 356评论 0 0