引用npm服务器中的js文件,如何使用NPM到Linux服务器上的构建和发布Node.js的包

介绍

Node.js是一个流行的Javascript平台,用于服务器端编程,允许您快速构建和运行Web应用程序。

在本指南中,我们将讨论如何使用npm ,使Node.js的包管理系统。 在过去的指南中,我们讨论了如何在Ubuntu 14.04服务器上安装Node.js的 。 我们还讨论了如何通过搜索和探测包使用NPM作为一个整体的消费 。

现在,我们将介绍如何修改配置设置,创建和发布包以及如何与npm软件包存储库进行交互。让我们跳进去。

管理配置设置

要控制npm的行为,您可以调整工具的设置。有很多方法内置到npm来做到这一点。

列出当前配置设置

首先,让我们看看我们当前的设置是什么。我们可以通过键入:

npm config ls

; cli configs

registry = "https://registry.npmjs.org/"

user-agent = "npm/1.4.9 node/v0.11.13 linux x64"

; node bin location = /home/demouser/.nvm/v0.11.13/bin/node

; cwd = /home/demouser/projects/test_package

; HOME = /home/demouser

; 'npm config ls -l' to show all defaults.

此设置列表从各种不同的位置(包括当前操作环境)提取。它是在运行命令时构建的。您可以通过将测试这个-g标志。它将突然显示“全局”选项设置:

npm config ls -g

; cli configs

global = true

registry = "https://registry.npmjs.org/"

user-agent = "npm/1.4.9 node/v0.11.13 linux x64"

. . .

现在, 因为有尚未创建任何配置文件的NPM不拉从它的配置文件中的任何信息。它只是从其环境(当前目录等)收集信息,并使用应用程序默认值。

我们没有显示大多数默认值与此命令虽然。为了获得更广泛的信息,我们将不得不通过-l标志:

npm config ls -l

; cli configs

long = true

registry = "https://registry.npmjs.org/"

user-agent = "npm/1.4.9 node/v0.11.13 linux x64"

; default values

always-auth = false

bin-links = true

browser = null

ca = null

. . .

获取和设置特定值

正如你所看到的,有很多键 - 值对的信息。这是我们如何在npm内使用配置值。例如,如果我们想要查看“编辑器”键的当前值,我们可以键入:

npm config get editor

vi

如果我们想改变这个值,我们可以通过输入如下命令来轻松实现:

npm config set editor vim

这将做两件事。它将改写我们的新价值(VIM)的默认值(VI),这也将创造我们的配置文件,因为它是我们的第一个自定义值。

我们的配置文件写在哪里?为什么不要问npm:

npm config get userconfig

/home/demouser/.npmrc

如果我们使用设定的值config set -g语法,它们将被写入到我们的globalconfig文件。我们可以通过键入以下内容找到此存储位置:

npm config get globalconfig

/home/demouser/.nvm/v0.11.13/etc/npmrc

您的文件位置将根据您用于安装Node.js的方法而有所不同。同样,此文件将不存在,直到您偏离全局级别上的默认值。

对于确实存在,如果你想与你的编辑器中编辑文件,你可以通过键入:

npm config edit

如果尚未创建文件(手动或通过在npm内设置非默认值),这将不起作用。

您还可以为特定命令设置不同的配置选项,因为您使用以下语法调用它:

npm subcommand --key value

其中,值由拉其他的地区是package.json对于项目本身和环境变量文件。

使用npm创建包

我们已经学习了一些关于如何使用npm作为标准包管理器来获取和管理应用程序需要的依赖项和包。但是,您也可以使用npm来帮助您打包和共享您的应用程序或库。

npm帮助的第一件事之一是为您的项目生成一个package.json文件。在开始之前,您应该查看帮助页面,以便您熟悉将要询问的字段:

npm help json

进入应用程序目录后,您可以开始:

cd ~/projects/test_package

npm init

这将提示您需要为您构建包文件的信息。它将从环境中获取一些提示来填充默认值。您的会话可能如下所示:

name: (test_package)

version: (0.0.0) 0.0.1

description: A test package

entry point: (index.js) index.js

test command: echo "test"

git repository: http://fake.git.repo.com

keywords: test

author: me

license: (ISC) GLP

About to write to /home/demouser/projects/test_package/package.json:

{

"name": "test_package",

"version": "0.0.1",

"description": "A test package",

"main": "index.js",

"dependencies": {

"express": "^4.2.0"

},

"devDependencies": {},

"scripts": {

"test": "echo \"test\""

},

"keywords": [

"test"

],

"author": "me",

"license": "GLP"

}

Is this ok? (yes) yes

如果你有产生你的后安装额外的依赖package.json文件,你应该安装他们--save标志,这将更新您的依赖项列表中package.json文件。

如果你的软件包需要非常具体的版本,则可以使用shrinkwrap子命令。通常,包文件将当前包设置为构建所需的最低可行版本。使用收缩包装文件,这些版本是特定的并锁定。

您可以使用以下命令创建此文件:

npm shrinkwrap

这将生成一个名为npm-shrinkwrap.json为每个依赖和递归的方式非常详细的包信息。如果您的应用程序环境是微妙的,这是一个重要的工具。

通过npm与npm网站交互

故宫在项目维护包的网站npmjs.org 。你实际上可以通过npm命令行工具与此网站交互。我们已经讨论过如何搜索包,但还有更多的功能。

首先,如果您还没有账号注册的是,你可以通过键入NPM界面内这样做:

npm adduser

系统将要求您选择用户名,密码和电子邮件地址。这些将被发布到网站,就像您通过Web浏览器注册。

如果您检查配置,您应该会看到新的帐户详细信息:

npm config ls

. . .

; userconfig /home/demouser/.npmrc

editor = "vim"

email = "demouser@domain.com"

username = "demouser"

. . .

发布您的软件包

当你创建了一个你想要与更大的Node.js社区共享的包时,npm站点是一个很好的起点。

幸运的是,npm自带了一些帮助函数,让你开始。

如果您在包的目录中,则可以直接键入:

npm publish

这将把你的包推到npm网站。此操作的成功取决于您的包具有唯一的名称和版本号。如果你去那里搜索你的包,它应该像任何其他Node.js包一样列出。

标记您的上传

您可以通过使用标签的包的特定版本tag子命令。这些可以在安装和依赖关系规范期间用于替换版本号。

默认情况下,npm会在您发布的任何包中包含一个标记为“latest”的标签。这只是最近的推动。您可以通过键入以下内容查看此内容:

npm config get tag

latest

这意味着您可以通过键入以下内容来专门请求最新版本:

npm install package@latest

如果您要为其中一个套件/版本组合添加其他标记,可以键入以下内容:

npm tag package@version tag_name

这将允许您引用由“tag_name”标记的版本,而不是版本号。

改变包裹的所有权

默认情况下,当您发布包时,您将被赋予包的所有权。

您可以通过键入以下内容进行验证:

npm owner ls package_name

demouser

如果你想添加额外的人到项目,这将允许他们进行修改,你可以发出这样的命令:

npm owner add username

您也可以执行相反的操作,并删除用户的权限,像这样:

npm owner rm username

在撰写本文时,包的所有所有者拥有相同的权限,因此无法分配更细粒度的访问控制。

删除和弃用软件包

有时,您的包中有一个重要更改,需要废弃旧版本。例如,也许有一个安全问题。

使用npm,您可以通过键入以下内容轻松地废弃软件包的版本或版本范围:

npm deprecate package_name@"version_or_rangedeprecation_message_to_users"

您选择包含的消息将显示为对安装您标记的软件包版本的任何用户的警告。

如果你想把你的包完全,你可以通过取消发布它。你可能不应该这样做,如果你的包被其他人使用,npm鼓励你不赞成包。您也可以取消发布特定版本,但同样的建议保持不变。

一个重要的事情要注意,即使您取消发布一个包,并从网站中删除它的名称/版本组合它不能重复使用。这是为了确保人们不会意外地拉错包。

取消发布您的工作的语法是:

npm unpublish package_name@version

如果要删除整个软件包。 在这种情况下,你必须添加--force标志,以避免整个项目的意外删除:

npm unpublish --force package_name

结论

你现在应该对如何利用Node.js项目中npm的力量有一个相当深入的了解。 npm实用程序可用于协助项目开发的大部分领域,从构建文件和获取依赖关系,到发布软件包和部署到生产环境。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值