npm初入门

来源:互联网 发布:中美抗苏 知乎 编辑:程序博客网 时间:2024/06/03 12:21

what is npm?

npm(node package manager)


npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等);
简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率。

1.使用npm安装插件:
命令提示符执行npm install [-g] [–save-dev];
1.1:node插件名称。例:
npm install gulp-less –save-dev
1.2-g:全局安装。将会安装C:\Users\Administrator\AppData\Roaming\npm, 并且写入系统环境变量;(非全局安装:将会安装在当前定位目录; 全局安 装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的 node_modules文件夹下,通过require()调用;
1.3 –save:
将保存配置信息至package.json(package.json是nodejs项目配置 文件);
1.4-dev:
保存至package.json的devDependencies(开发环境)节点,不指定-dev将保存至dependencies节点;一般保存在dependencies(生产环境)的像这些express/ejs/body-parser等等。

那么问题来了。
1.神马时候需要全局安装神马时候只需要本地安装?

1.npm install xxx -g 时, 模块将被下载安装到【全局目录】中。
【全局目录】通过 npm config set prefix “目录路径” 来设置。比如说,当我们使用了npm install -g express安装了express框架后, 我们就可以在电脑里的某一个文件夹下,打开控制台,直接使用express mvc创建项目,否则会遇到’express’不是内部或外部命令,也不是可运行的程序”错误。

2.npm install xxx ,则是将模块下载到当前命令行所在目录。
例如:
c:\123>npm install xxx
将会安装到
c:\123\node_modules\xxx

2.package.json是什么?有啥作用?怎么创建?

描述一个NPM包的所有相关信息,包括作者、简介、包依赖、构建等信息的严格的JSON格式的文件。

package.json 文件可以有以下几点作用:
相当于你本地项目的一个文档说明。允许你指定你项目中所使用的node包的版本。让你的构建更好地与其他开发者分享,便于重复使用。

使用 npm init 即可在当前目录创建一个 package.json 文件。
输入 npm init 后会弹出一堆问题,我们可以输入对应内容,也可以使用默认值。在回答一堆问题后输入 yes 就会生成package.json 文件。如果嫌回答这一大堆问题麻烦,可以直接输入 npm init –yes 跳过回答问题步骤,直接生成默认值的 package.json 文件。

更多package.json可以自己百度。在这就不扯太远了!

3.为什么本地安装的时候,将依赖包信息写入package.json中?

注意一个问题,在团队协作中,一个常见的情景是他人从github上clone你的项目,然后通过npm install安装必要的依赖,(刚从github上clone下来是没有node_modules的,需要安装)那么根据什么信息安装依赖呢?就是你的package.json中的dependencies和devDepencies。所以,在本地安装的同时,将依赖包的信息(要求的名称和版本)写入package.json中是很重要的!

npm install 模块:安装好后不写入package.json。
npm install 模块 –save 安装好后写入package.json的dependencies中(生产环境依赖)
npm install 模块 –save-dev 安装好后写入package.json的devDepencies中(开发环境依赖)

回到nmp我们继续

2.使用npm卸载插件:npm uninstall [-g] [–save-dev] (不要直接删除本地插件包)
2.1删除全局模块:npm uninstall -g 利用npm
2.2删除本地模块:npm uninstall 模块

删除本地模块时你应该思考的问题:是否在package.json上的相应依赖信息也消除了? npm uninstall 模块:
删除模块,但不删除模块留在package.json中的对应信息

npm uninstall 模块 –save 删除模块: 同时删除模块留在package.json中dependencies下的对应信息。

npm uninstall 模块 –save-dev 删除模块:
同时删除模块留在package.json中devDependencies下的对应信息

3.使用npm更新插件:npm update [-g] [–save-dev]
3.1.更新全部插件:npm update [–save-dev]
4.查看npm帮助:npm help
5.当前目录已安装插件:npm list

因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。来自官网:“这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。”;

cnpm官方网址:http://npm.taobao.org;
安装:命令提示符执行npm install cnpm -g
–registry=https://registry.npm.taobao.org;

注意:安装完后最好查看其版本号cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误;
注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm(以下操作将以cnpm代替npm)。

内容转载自http://www.ydcss.com/archives/18#why

原创粉丝点击