NPM-node.js界的maven 入门
2017-06-13 13:30
381 查看
一、NPM 概念
NPM(node package manager)是 node.js 的包管理和分发工具。它类似于PHP的Composer,Ruby的gem,Python的pip,Java的Maven……它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单。截至目前 最新的稳定版 npm 是 3.3.12,npm的官方网站:https://docs.npmjs.com,官方教程:https://docs.npmjs.com/getting-started。二、安装 NPM
新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。命令如下,出现版本提示表示安装成功:$ npm -v 2.3.0
不过由于 nodejs 更新速度要慢于 npm ,因此在一般情况下要升级你的 npm 到最新版本,输入如下命令:
npm install npm -g
如果是 Linux ,可能需要通过 sudo 以 root 权限运行。完成后运行 npm -v 可查看当前 npm 版本号。
(NPM权限问题)
如果你在全局安装某个包时遇到 EACCES 错误,说明你没有权限在 npm 存放全局包文件的目录中写入文件。解决方法请参考:https://docs.npmjs.com/getting-started/fixing-npm-permissions
三、使用NPM
3.1 新增依赖外部包(新增外部模块包)3.1.1 新增
npm 提供了两种包的安装形式:局部安装和全局安装。你可以通过你的项目使用情况选择如何安装。如果你的项目依赖于某个包,那么建议将改包安装到局部。其他其他条件下,比如你要在命令行工具中使用这个包,可选择在全局安装。
局部安装
npm install package-name
这将会在当前位置创建一个 node_modules 文件夹(如果目录不存在),并且下载包文件到这个目录中。安装完成后可以看到 node_modules 目录下多了个文件夹。注:一般情况下如果安装失败目录会被删除。
全局安装
npm install package-name -g
安装特定版本(X.Y.Z为包的版本号)
npm install package-name@X.Y.Z
3.2 更新依赖外部包(更新外部模块包)
如果要更新全局安装的软件包,可以使用 npm install -g package-name
npm install -g package-name
如果知道哪些软件是需要更新的可以使用
npm outdated -g --depth=0
如果要更新所有已全局安装的软件包,使用
npm update -g
3.3 卸载依赖外部包(卸载外部模块包)
要卸载已全局安装的软件包,使用
npm unistall -g package-name
3.4 查看已安装的依赖外部包(模块包)
npm list -g
3.5 使用依赖包(模块包)
一旦安装完成一个包,你就可以在你的代码中使用它。例如:你创建了一个 Node module 并使用它。
安装完 lodash 后,创建一个文件 index.js 然后输入下面代码:
var lodash = require('lodash'); var output = lodash.without([1, 2, 3], 1); console.log(output);
执行 node index.js 它将会输出 [2,3]
四、发布自己的模块包
Node.js 模块是一种可以发布到 npm 的模块包,当你要创建一个新模块,首先需要创建一个 package.json 文件。可以通过 npm init 创建一个 package.json ,他会引导你输入一些 package.json 的字段信息。有两个选项是必须输入的,分别是模块名称和版本号。你还需要输入一个名字用来作为入口程序的名称,默认为 index.js。package.json 位于模块的目录下,用于定义包的属性。如果要发布自己的模块包,必须了解这个文件,Package.json 属性说明:name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,如果你包的名字叫 express,然后用户安装它,然后require(“express”)。
keywords - 关键字
package.json 文件创建完成后,你需要创建一个文件用来在模块被加载时执行,如果你上一步使用默认名字,那么该文件名就是 index.js 。在文件中添加一个函数到 exports 对象的属性
exports.printMsg = function() { console.log("This is a message from the demo package"); }
然后测试:
● 推送你的模块包到npm
● 在项目外创建一个空目录
● 执行 npm install package-name
● 创建一个 test.js 文件,require 你的包名字,然后执行上面的方法
● 执行 node test.js , 将输出上面函数中的代码
当然,你也可以推送自己的模块包到NPM库中,你可以推送任何包含 package.json 文件的文件夹,比如一个 node module
注册账号
要发布软件包,你必要有一个 npm 账号,如果没有可以使用 npm adduser 创建一个。然后使用 npm login 登录。更多信息请参考: https://docs.npmjs.com/getting-started/publishing-npm-packages
这里只是简单的介绍了一下NPM,算是最入门的体验,更多详细教程请参考官方教程:https://docs.npmjs.com/getting-started
参考文献:
http://www.cnblogs.com/kelsen/p/4947859.html
http://www.runoob.com/nodejs/nodejs-npm.html
https://docs.npmjs.com/getting-started
http://www.cnblogs.com/jiuyi/p/5353676.html
https://segmentfault.com/a/1190000005799797
相关文章推荐
- Node.js入门:Node.js&NPM的安装与配置
- 【node.js】npm入门
- nodejs+npm+gulp使用入门教程
- Node.js入门:Node.js&NPM的安装与配置
- Node.js从入门到实战(三)Npm使用介绍
- Node.js入门-npm安装以及需要的modules
- Node.js入门(含NVM、NPM、NVM的安装)
- Node.js学习3_npm使用入门
- 用NPM来管理你的node.js依赖
- Node.js 安装及npm的安装
- node.js 第三方模块如何安装(使用npm)及介绍
- 在Windows平台上安装Node.js及NPM模块管理
- Node.js 笔记(一) nodejs、npm、express安装
- 服务器端的JavaScript脚本 Node.js 使用入门
- Node入门 » 一本全面的Node.js教程
- node.js从入门到菜鸟
- node.js从入门到菜鸟——node与数据库,一段不得不说的故事
- 很棒的node.js入门学习材料
- node.js 入门指导
- 在Windows平台上安装Node.js及NPM模块管理