首页 > 编程知识 正文

angular.js(nodejs和java)

时间:2023-05-04 08:21:40 阅读:77342 作者:4392

作者:五月君来源: Nodejs技术堆栈

版本Node.js v17已发行,并用作当前版本,而不是版本v16。 新版本v17提供了其他基于Promise的核心模块API、添加错误堆栈末尾的版本信息、支持OpenSSL 3.0以及将v8 JavaScript引擎更新为9.5等新功能。

基于 Promise 的 API

Node.js项目的一个持续战略计划是为Node.js核心模块提供基于Promise的API支持,近年来为timer、stream模块提供了Promise API支持

Node.js v17发行版为自述模块提供了基于Promise的API支持。 此模块提供了一个接口,用于从可读流对象逐行读取数据。

与process.stdin协作,可以读取用户在终端上输入的数据。 如下例所示:

//test.mjs

导入* asreadlinefrom ' node : readline/promises ';

导入{ stdin as input,stdout as output } from 'process ';

constrl=readline.create interface ({ input,output };

const answer=await rl.question (“nodejs技术堆栈”的域名是什么:');

console.log (答案: ${answer} );

rl.close (; 执行后,效果如下。

有关readline模块的详细信息,请参见readline_readline。

错误堆栈增加 Node.js 版本

堆栈跟踪是诊断APP应用程序错误消息的重要组件。 在Node.js v17发行版中,如果进程因致命错误而终止,则错误堆栈的末尾将包含Node.js的版本信息。

如果要忽略此信息,请在运行时在命令行中指定----no-extra-info-on-fatal-exception标志。

版本

OpenSSL 3.0 支持

Node.js v17包含最近发行的OpenSSL 3.0。 根据OpenSSL发行策略,OpenSSL 1.1.1将在2023-09-11停止支持。 此日期也早于Node.js v18 LTS的结束日期。

OpenSSL 3.0对允许的算法和密钥大小添加了严格的限制,因此可能会对生态系统产生某些影响。 Node.js v17发行版包含OpenSSL 3.0,用于在下一个LTS发行版之前为用户提供测试和反馈时间。

例如,md4是OpenSSL 3.0中缺省情况下不再允许的算法。 如果是Node.js 17之前的Node版本,则APP应用程序运行正常,但Node.js v17会抛出error code为ERR_OSSL_EVP_UNSUPPORTED

导入复制自'复制到';

在console.log (crypto.create hash (md4 ).update (版本123 ),utf8 ).digest (hex ) ) Node.js v17上运行后,执行以下操作

一种临时解决方案是在运行时添加--openssl-legacy-provider标志,从而导致APP应用程序没有报告错误。

$ node-- OpenSSL-legacy-provider test.mjs

c 58 CDA 49 f 00748 a3 BC 0f CFA 511 d 516 CB

V8 更新至 9.5

V8在8.1版中打开Intl.DisplayNames API,并支持四种类型的语言、区域、货币和脚本。 现在添加了两种新类型: calendar和datetime,对国际化APP应用非常有用。

constescalendarnames=new intl.display names ([ ' zh ' ],{ type: 'calendar' } );

控制台. log (escalendarnames.of ) (roc ); //民国纪年

constencalendarnames=new intl.display names ([ ' en ' ],{ type: 'calendar' } );

控制台. log (encalendarnames.of ) (roc ); //Minguo Calendar日期和时间字段国际化名称展示。

功能打印日期(日期字段) {

console.log (

` ${datetimefield.of(year ) } $ { datetime field.of (month ) } $ { datetime field.of (day ) } ) ) ) ) )。

);

}

printdate(newintl.displaynames ) ['zh'],{ type: 'dateTimeField' }年月日

打印日期(new intl.display names (' en ',{ type: 'dateTimeField' } )//year month day

打印日期(new intl.display names ([ ' kor ' ],{ type: 'dateTimeField' } ) /

print date (new intl.display names (' tha )、{ type: 'dateTimeField' } ) }/intl.datetimeformatAPI在v8 9.5发行版中为tint

下面的代码示例说明之间的差异。

控制台. log (new intl.datetime format (' zh ) ).format (new date ) ); //2021/01/01

console.log (new intl.datetime format (zh ),{timezonename: ) shortgeneric ) }.format (new date ) }; //2021/01/01中国时间

console.log (new intl.datetime format (zh ),{timezonename: ) longgeneric ) }.format (new date ) }; //2021/01/01中国标准时间

console.log (new intl.datetime format (zh ),{timezonename: ) shortoffset ) }.format (new date ) }; //2021/01/01 GMT 8

console.log (new intl.datetime format (zh ),{timezonename: ) longoffset ) }.format (new date ) }; 请参阅//2021/01/01GMT08336000v89.5发行说明文件以了解详细信息。

根据

其它信息

node.js的发行时间表,Node.js v12将于2022年4月结束生命周期。 Node.js v16于2021年10月26日升级到LTS,即长期支持版本。

请勿在生产环境中使用奇数版本的Node.js (例如,当前的Node.js v17 ),因为它的生命周期短。

无法获得Node.js的版本信息,不知道Node.js的安装方法参考文章“你知道多少Node.js的版本? 怎么选择? ”。

参考

3359 medium.com/the-node-js-collection/node-js-17-is-here-8 DBA1e 14 e 382

3359 nodejs.org/en/blog/release/v 17.0.0 /

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