npm和node是现在前端开发必不可少的工具,尤其是随着前端模块化开发的流行,熟练使用npm,可以在开发中让你如鱼得水。下面我们一起来学习一下npm吧。
一、创建一个包,并且发布:
首先新建一个文件夹,名字自己随意,比如我的:npm-package-test,进入到该文件夹下,然后使用 npm init 命令进行初始化, 如下图:
在命令行的提示下填写每一步的信息, 当然也可以直接按下回车,npm会自动为我们填写一些默认值的。
完成这一步之后,我们就会看到在文件夹下多了一个package.json文件,这个就是包的配置文件,里面与包名、版本号、描述信息、包的入口文件、可以执行的脚本、作者、许可证,以后在我们使用的过程中,还会接触到 devDependencies、dependencies、repository等等。
接下来,我们可以按照我们需要实现的功能,创建一些文件夹、文件。为了示例起见,我只创建了入口文件index.js.
二、添加用户
在第一步中,我们就简单的创建了一个包,这个包在以后是需要人来管理的,所以就需要添加用户。
这里,我们使用 npm adduser 命令:
输入该命令之后,我们需要输入一些基本信息,按着提示一步一步来就行。
三、发布
上一步完成之后,我们可以把我们的包发布到 npm仓库中,让更多的人来使用我们的包(这个除外。。。)。
直接使用 npm publish 命令一键搞定。
是不是很有成就感呢。
四、npm owner
这个命令主要是用来管理包的所有者,即哪些人有权限操作这个包。 通常,创建包的人, 默认就是这个包的第一个owner,如果这个时候想要删除owner,是删除不了的,只有当包的owner人数大于1的时候, 才可以选择删除owner。
npm owner add <username> <packagename> #添加owner:
npm owner ls <packagename> #查看所有的owner
npm owner rm <user> <packagename> #移除一个owner
成为包的所有者的用户, 就可以修改包的代码,发布新版本,同时也可以添加其他用户。
五、npm insatll
npm install #安装package.json文件中的的所有依赖
npm install packagename #安装packagename包
npm install packagename@version #安装版本号为version的packagename包
关于 -S或者--save:
在执行install命令的时候,会把包信息加入到package.json文件中的dependencies字段中,例如:
npm install webpack --save
如果使用了-S 或者--save则表示这是一个生产环境会用到的一个依赖。
关于 -D 或者 --save-dev:
在执行install命令的时候,会把包信息加入到package.json文件中的devDependencies字段中,例如:
npm install webpack --save-dev
如果使用了 -D或者--save-dev, 则表示这是一个在测试环境中使用的依赖;
关于 -O 或者 --save-optional:
在执行install命令的时候,会把包信息加入到package.json文件中的optionalDependencies字段中,例如:
npm install webpack --save-optional
如果使用了-O或者--save-optional, 则表示这是一个可选阶段的依赖;
关于 -g 或者 --global
表示是全局安装,例如:
npm install webpack -g
六、npm cache
npm cache add <tarball file>
npm cache add <folder>
npm cache add <tarball url>
npm cache add <name>@<version>
npm cache ls <path>
npm cache clean <path>
最常用的还是 npm cache clean
七、 npm config
npm config set <key> <value> [-g|--global]
npm config get <key>
npm config delete <key>
npm config list
npm config edit
npm get <key>
npm set <key> [ -g|--global]
比如:
npm config get registry
npm config set proxy = http://dev-proxy.oa.com:8080
npm config set registry="http://r.cnpmjs.org"
八、 npm start
这个命令可以执行一个模块,命令写在package.json文件中的scripts属性中,命令名称可以由开发者自己配置。
"scripts": {
"start" : "gulp -ws"
}
可以自己配置名称:
"scripts": {
"ecWebpack" : "webpack --config webpack.config.js"
}
当然执行的时候,就需要使用命令 npm ecWebpack了
九、 npm test
用来测试一个模块。命令写在package.json文件中的scripts属性中,命令名称可以由开发者自己配置。
"scripts": {
"test" : "gulp -ws"
}
上面八和九中的start、test都是大家约定俗成的名称,开发者可以在自己的package.json文件中自定义。
十、其他命令
npm update <packagename> #更新包
npm update <packagename> #卸载包 (可以添加 --save , --save-dev等参数)
npm outdated <packagename> #检查包是否过时
npm ls #查看已经安装的模块
npm root #查看包的安装路径
npm start #启动模块(包)
npm stop #停止模块(包)
npm restart #重新启动模块(包)
npm test #测试模块(包)
npm version #查看包的版本
npm view #查看包的注册信息
参考链接:
http://www.8dou5che.com/2017/01/13/npm-cli/