首页 > 编程知识 正文

npm安装nodemodules(nodejs和js的区别)

时间:2023-05-04 08:29:40 阅读:77339 作者:613

关注InfoQ,加公众号

接受程序员的技术早餐

作者|bhdjmg Ball

翻译|明亮的白色

4月24日,Node.js项目发布了10.0.0版Node.js,同时npm,Inc发布了node软件包管理器NPM 6.0版。 这两个版本都强调了增强的安全性,并将Node.js升级到了OpenSSL1.1. 0版。 npm包含几个侧重于安全的特性,例如与安全无关的自动警告。 Node.js发行版还包括对新的本机编程API和HTTP2的稳定支持。

在官方版本发布博客文章中,“Node.js 10.x主要关注渐进式增强”,但这也是第一个升级到OpenSSL 1.1.0的节点版本。 当此版本的OpenSSL发布时,它受到了加密专家的赞誉。 例如,Open Crypto Audit的火星兔子怀特在推特上说:

OpenSSL 1.1.0是一个重要重构,它是IPv6、EVP、Bignum、核心结构、状态机和协商。 添加了CCM、OCB、ChaCha/Poly、scrypt和BLAKE2。

根据维基百科的发布历史记录,OpenSSL1.1. 0版是自2010年发布1.0版以来第一个破坏二进制兼容性的版本,也是新的ABI (APP应用程序二进制接口) 这样,Node.js就可以无缝应对后续更新,包括5月份按照计划发布的OpenSSL 1.1.1,并包括对TLS 1.3的支持。

Node.js的发行版本还包括第一个非实验版本的Node.js API(N-API )。 发行说明:

N-API是一个稳定的模块API,独立于V8中的更改,可以在新版本的Node.js中运行该模块,而无需重新编译。

新API的目的不仅是允许包含本机(非JavaScript )代码的模块稳健地升级V8版本,还可以包含非V8 JavaScript引擎。 在最初发布N-API的博客文章中,微软的Arunush Chandra和IBM引以为豪的冬瓜Dawson认为直接或间接依赖本机API会影响30%的软件包,这是Node.js版本Chandra和Dawson说:

对于本机模块的下一代、ABI稳定的Node.js API或N-API,我们正在努力解决此问题。 这是通过为JavaScript VM虚拟机中的本机API提供ABI的稳定抽象层来实现的。 然后,可以允许本机模块的创建者按平台和体系结构进行编译,并将其应用于实现了N-API的任何Node.js版本。 对于在不同虚拟机上构建的Node.js版本(如Node-ChakraCore ),这一点仍然成立。

该版本的Node.js还将http2支持作为Node.js核心的稳定部分,在Node.js 8版本系列中是实验特性。 的内置支持构建在典型的服务器框架Hapi和Koa中,Express需要额外的配置。 如果开发人员想了解这些工具,请参阅Rising Stack博客中的快速教程。

此版本是10.x发行版的第一个版本,将于2018年10月成为新的长期服务(Long Term Service,LTS )发行版。 LTS通常保证支持3年,并根据发布时间表支持到2021年。 但是,根据Node.js的发行时间表,最近的LTS版本(8.x )将提前过期) (2019年12月)。 这是因为它与OpenSSL 1.0.2的生命终点相匹配。

新版本的Node.js还包括错误处理、诊断和性能改进。 感兴趣的开发人员可以浏览Node.js博客的完整发行说明,并从项目主页下载Node.js的发行版本。

为了与Node.js 10的发行版保持一致,Node软件包管理器(npm )也宣布发行其主版本6.0。 新的npm 6.0版本既可用于以前版本的Node.js,也可用于新的Node.js 10.0.0。 根据发行说明,主要升级原因是增强安全性。

不久,npm注册表中的每个用户在使用具有已知安全问题的代码时都会收到自动警告。 npm会根据NSP数据库自动检查安装请求,如果代码中包含安全漏洞,则会返回警告。

另外,npm@6的新命令“npm audit”不久就可以递归分析您的依赖树,以便于识别哪里不安全。 这样,可以用新版本替换依赖项,也可以查找和替换更安全的依赖项。

开发人员可以通过运行npm i -g npm@latest命令升级到最新版本的npm。

原文链接:

3359 www.infoq.com/news/2018/04/node-10-NPM-6 -相关安全

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。