NPM-node.js界的maven 入门

来源:互联网 发布:多空指标软件 编辑:程序博客网 时间:2024/06/05 03:52

一、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 -v2.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

原创粉丝点击