【Node.js】学习记录4-npm模块的学习
程序员文章站
2022-04-18 18:31:20
...
概念
Node Package Manager,npm是node的包管理工具,包就是别人写的node模块。包的云服务器在npmjs.com,下载的包都来自这里。
初体验
新建一个文件夹,终端输入
npm init
通过信息选择后(可以回车默认)这样就初始化了一个npm包的项目,会生成一个package.json文件,里面注册了这个包的信息,也意味者可以引入其他包进来。
{
"name": "npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
当你通过npm install xxx
其他包进来的时候,会生成一个新字段dependencies
,里面会记录你安装过什么模块。
被安装的包源文件都被安装在node_modules文件里
详细文档可以看官方文档。
淘宝镜像
淘宝每十分钟会尽量更新国外npm包到国内站点,如果npm包下载过慢可以切到这个镜像。
npm i -g cnpm --registry=https://registry.npm.taobao.org
其实下下来的cnpm和npm是通个东西,cnpm的指令就是npm加上后面--registry=https://registry.npm.taobao.org
指向的镜像网址。
devdependencies和dependencies
package.json文件有两个字段,用来记录不同环境下使用的包内容和版本。
devdependencies
:用来记录开发环境下需要,上线不需要的依赖。dependencies
:用来记录只有上线环境下需要的依赖。
一开始可能会搞不明白哪个依赖要放在哪个环境里,平时开发的时候,有意的看下这两个地方,会慢慢搞懂的。
一些指令
指令 | 作用 |
---|---|
npm -v | 查看npm版本 |
npm init | 以npm初始化文件,默认都选yes可以输入npm inint -y |
npm install xxx | 安装其他指定模块。安装多个可以空格区分,npm install a b c(不建议这样装依赖,可能没注册在dependencies 里面) |
npm install xxx --save-dev | 安装到devdependencies环境 |
npm install xxx --save | 安装到dependencies环境 |
npm install npm -g | 升级 |
npm uninstall xxx | 删除其他指定模块 |
node_modules文件夹删除过慢
当依赖很多的时候,手动鼠标右键删除node_modules会非常的慢,甚至会让人抓狂。
全局安装这个:
npm install rimraf -g
之后删除只需要:
rimraf node_modules
亲测速度确实快了。
一些大牛
认识一些npm包制作大师:
- TJ Holowaychunk,express作者;
- Mafintosh;
- Dominictarr,贡献了很多包,有个event-stream事件;
- …