当前位置: 首页 > news >正文

福州++网站建设网站更换域名seo

福州++网站建设,网站更换域名seo,网站突然不被百度收录,后端开发技术有哪些#xff08;预测未来最好的方法就是把它创造出来——尼葛洛庞帝#xff09; NodeJs 官方链接 github链接 V8链接 Node.js发布于2009年5月#xff0c;由Ryan Dahl开发#xff0c;是一个基于Chrome V8引擎的JavaScript运行环境#xff0c;使用了一个事件驱动、非阻塞式I/O模… 预测未来最好的方法就是把它创造出来——尼葛洛庞帝 NodeJs 官方链接 github链接 V8链接 Node.js发布于2009年5月由Ryan Dahl开发是一个基于Chrome V8引擎的JavaScript运行环境使用了一个事件驱动、非阻塞式I/O模型 [1] 让JavaScript 运行在服务端的开发平台它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 [2] Node.js对一些特殊用例进行优化提供替代的API使得V8在非浏览器环境下运行得更好V8引擎执行Javascript的速度非常快性能非常好基于Chrome JavaScript运行时建立的平台 用于方便地搭建响应速度快、易于扩展的网络应用 接下来整理的是开发中常用的特性一些作者认为不常用的可能会不记录或者记录的不详细 NodeJs的发布规则 CURRENT指代最新的 Node.js 版本系列。Active指正在积极维护和升级的版本系列包括向后移植非破坏性功能和改进解决错误以及修补安全漏洞。Maintenance这是一个维护的 LTS 版本系列直到它的生命周期终止只会在短时间内收到错误修复和安全补丁。LTS是Long-Term Support 的缩写代表 Node.js 长期支持的版本版本号为复数。EOLEOL 是 End of Life 的首字母缩写进入到 EOL 时间线的版本将不在维护。 让我们看下 Node.js版本的生命周期是怎么样的首先要知道每年的 4 月、10 月分别发布偶数、奇数版本下面是过程说明 最近的一个偶数版本在 4 月份发布之后会持续 6 个月。 待 10 月份会发布一个奇数版本最近的偶数版本会进入 Active LTS版本。持续时间为 18 个月这期间几乎不会有不兼容的大功能更新开发者也可以放心升级到 Active LTS 版本。 18 个月的Active LTS 版本到期后会进入 Maintenance LTS 版本也就是进入维护期时间为 12 个月在这期间仅进行安全、Bug 更新。 一旦 Maintenance LTS 版本 12 个月的时间已到就会进入 EOL 版本正式退出历史舞台。 其中偶数版本会持续维护18个月而奇数版本指挥维护8个月。 生命周期图 20.0.0 2023-04-18发布 1. 权限模型 Node.js 现在有一个名为权限模型的实验性功能。它允许开发人员在程序执行期间限制对特定资源的访问例如文件系统操作、子进程生成和工作线程创建。API 存在于一个标志后面–experimental-permission启用后将限制对所有可用权限的访问。通过使用此功能开发人员可以防止他们的应用程序访问或修改敏感数据或运行可能有害的代码。 使用–allow-fs-read和–allow-fs-write限制对文件读写系统的访问使用–allow-child-process限制访问 child_process使用–allow-worker限制访问 worker_threads使用–no-addons制对本机插件的访问 2. 自定义 ESM 加载程序挂钩在专用线程上运行 通过加载程序 ( ) 提供的 ESM 挂钩–experimental-loaderfoo.mjs现在在与主线程隔离的专用线程中运行。这为加载程序提供了一个单独的范围并确保加载程序和应用程序代码之间没有交叉污染。 3. import.meta.resolve() 为了与浏览器行为保持一致此函数现在同步返回。尽管如此用户加载resolve程序挂钩仍然可以定义为异步函数或同步函数如果作者愿意的话。即使resolve加载了异步挂钩import.meta.resolve仍会同步返回应用程序代码。 4. V8 11.3 V8 引擎更新到版本 11.3它是 Chromium 113 的一部分。这个版本包括 JavaScript API 的三个新特性 String.prototype.isWellFormed 和 toWellFormed isWellFormed用于检查这个字符串是否是一个合法的 Unicode而toWellFormed则会将一个字符串转换为 Unicode。 通过复制改变 Array 和 TypedArray 的方法 现有的Array.prototype和TypedArray.prototype的函数会直接修改接收的数组。而新函数会返回接收的数组的修改副本并将原始数组保持不变。这些新函数在数据不可变的编程风格中很有用。 可调整大小的 ArrayBuffer 和可增长的 SharedArrayBuffer 带有集合符号的 RegExp v 标志 字符串的属性 WebAssembly 尾调用 5. 稳定的测试运行器 最近对 Node.js 版本 20 的更新包括对 test_runner 模块的重要更改。在最近的更新后该模块已被标记为稳定。以前test_runner 模块是实验性的但这次更改标志着它是一个可以用于生产的稳定模块。 它主要用来编写并运行测试文件类似mock等测试组件包 describe/it/test函数以及测试文件的钩子。mock 数据。监听文件变化模式(watch mode)。node --test支持并行运行多个测试文件。 import { test, mock } from node:test; import assert from node:assert; import fs from node:fs;mock.method(fs, readFile, async () Hello ZY); test(synchronous passing test, async (t) {// This test passes because it does not throw an exception.assert.strictEqual(await fs.readFile(zy.txt), Hello ZY); }); 6. Ada 2.0 Node.js v20 附带了最新版本的 URL 解析器 Ada。此更新为 URL 解析带来了显着的性能改进包括增强url.domainToASCII了.url.domainToUnicodenode:url Ada 2.0 已集成到 Node.js 代码库中确保应用程序的所有部分都能从改进的性能中受益。此外Ada 2.0 比其前身 Ada 1.0.4 具有显着的性能提升同时还消除了对 URL 主机名解析的 ICU 要求。 19.0.0 2022-10-18发布 1. HTTP(S)/1.1 KeepAlive 默认 从此版本开始Node.jskeepAlive默认设置为 true。这意味着任何传出的 HTTP(s) 连接都将自动使用 HTTP 1.1 Keep-Alive。默认等待时间为 5 秒。启用 keep-alive 将提供更好的吞吐量因为默认情况下会重用连接。 此外代理现在能够解析Keep-Alive服务器可能发送的响应。此标头指示客户端保持连接的程度。另一方面Node.js HTTP 服务器现在将在调用时自动断开空闲客户端使用 HTTP Keep-Alive 重用连接close()。 默认情况下Node.js HTTP(S)/1.1 请求可能会体验到更好的吞吐量/性能。 2. 删除了 DTrace/SystemTap/ETW 支持 3. V8 10.7 V8 引擎更新到 10.7 版它是 Chromium 107 的一部分。该版本包括 JavaScript API 的新功能Intl.NumberFormat. Intl.NumberFormatv3 API 是一个新的TC39 ECMA402 第 3 阶段提案 扩展了现有的Intl.NumberFormat. 4. llhttp 8.1.0 llhttp 已经更新到 8.1.0 版本。总的来说这个版本对 llhttp API 带来了许多更新引入了新的回调并允许所有回调都可以暂停。 18.0.0 2022-04-19发布 1. fetch(实验性) 默认情况下全局范围内提供了一个实验性的获取 API。该实现基于undici一个由项目贡献者为 Node.js 编写的 HTTP/1.1 客户端。 const res await fetch(https://nodejs.org/api/documentation.json); if (res.ok) {const data await res.json();console.log(data); }通过此添加可以使用以下全局变量fetch, FormData, Headers, Request, Response 使用–no-experimental-fetch命令行标志禁用此 API 2. HTTP 超时 server.headersTimeout这限制了解析器等待接收完整 HTTP 标头的时间现在60000默认设置为60 秒。 server.requestTimeout300000设置从客户端接收整个请求的超时值以毫秒为单位现在默认设置为5 分钟。 如果这些超时到期服务器将以状态 408 响应而不将请求转发给请求侦听器然后关闭连接。 两个超时都必须设置为非零值以防止在服务器部署前没有反向代理的情况下发生潜在的拒绝服务攻击。 3. Test Runner 模块实验性的 该node:test模块有助于创建以 TAP 格式报告结果的 JavaScript 测试。 import test from node:test;该模块仅在该方案下可用node: 以下是具有两个子测试的父测试的示例实现 test(top level test, async (t) {await t.test(subtest 1, (t) {assert.strictEqual(1, 1);});await t.test(subtest 2, (t) {assert.strictEqual(2, 2);}); });4. 工具链和编译器升级 5. V8 10.1 V8 引擎更新到 10.1 版本它是 Chromium 101 的一部分。与 Node.js 17.9.0 中包含的版本相比包括以下新特性 findLast数组findLastIndex方法 const inputArray [{v:1}, {v:2}, {v:3}, {v:4}, {v:5}]; inputArray.findLast((element) element.v % 2 0); // → {v:4} inputArray.findLast((element) element.v % 7 0); // → undefined inputArray.findLastIndex((element) element.v % 2 0); // → 3 inputArray.findLastIndex((element) element.v % 7 0); // → -1Intl.LocaleAPI的改进。 Intl.supportedValuesOf 改进了类字段和私有类方法的性能它们的初始化现在与普通属性存储一样快 17.0.0 2021-10-19发布 1. OpenSSL 3.0 2. V8 9.5 V8 JavaScript 引擎更新到 V8 9.5。此版本附带Intl.DisplayNamesAPI 的其他受支持类型和timeZoneNameAPI 中的扩展选项Intl.DateTimeFormat 3. Readline 承诺 API 该模块提供了一个接口用于一次一行地readline从 Readable 流例如 中读取数据。process.stdin 以下简单示例说明了该readline模块的基本用法 import * as readline from node:readline/promises; import { stdin as input, stdout as output } from process;const rl readline.createInterface({ input, output });const answer await rl.question(What do you think of Node.js? );console.log(Thank you for your valuable feedback: ${answer});rl.close();16.0.0 2021-04-21发布 1. 稳定Timers Promises API Timers Promises API 提供了一组替代的计时器函数它们返回 Promise 对象。在 Node.js v15.0.0 中添加在此版本中它们从实验状态升级到稳定状态。 import { setTimeout } from timers/promises;async function run() {const res await setTimeout(3000, fullFilledValue);console.log(Get result${res} after 3s); }run(); // 3s后输出Get resultfullFilledValue after 3s2. 工具链和编译器升级 3. V8 JavaScript 引擎更新到 V8 9.0包括性能调整和改进 这次V8的升级带来了ECMAScript RegExp比对索引功能能提供字符串的开始与结束索引。当正则表达式带有/d标签时可以通过indices属性访问到索引数组。 14.0.0 2020-04-21发布 1. V8 8.1 可选链接 Nullish 合并 Intl.DisplayNames 为 Intl.DateTimeFormat 启用 calendar 和 numberingSystem 选项 2. 实验性异步本地存储 API 3. 强化流 API 13.0.0 2019-10-22发布 1. 断言 如果验证函数传递给assert.throws()或assert.rejects() 返回的值不是true则将抛出断言错误而不是原始错误以突出显示编程错误Ruben Bridgewater 2. 构建 Node.js 版本现在使用默认的 full-icu 支持构建。这意味着现在包含了 ICU 支持的所有语言环境并且与国际相关的 API 可能会返回与以前不同的值Richard Lau 3. V8 7.8 新增对象解构、内存使用和 WebAssembly 启动时间的性能改进 12.0.0 2019-04-29发布 1. V8 7.4 在V8 7.4中对于开发人员来说最重要的新特性是预计计算属性可以让开发人员更方便地通过表达式来定义对象属性同时引入了更多的原型方法。此外V8 7.4还实现了大量的内存管理和性能改进这将使得Node.js 12的性能更加稳定和可靠。 2. 更快的ES模块加载 随着Web应用程序变得越来越庞大加载和解析JavaScript模块的速度越来越成为Web开发的瓶颈。为了解决这个问题Node.js 12引入了较新的V8版本的快速对象存储访问从而使得ES模块的加载和解析速度更快可实现更快的Web应用程序加载时间和启动时间。 3. HTTP/2的完整支持 HTTP/2作为HTTP协议的下一代拥有比HTTP 1.x更快、更安全的数据传输速度。Node.js 12支持HTTP/2的完整支持包括对HTTP/2流的完整流控、过程化二进制协议的解码和对H2C升级的支持。同样Node.js 12还支持ALPN协议在HTTPS请求中使用HTTP/2。 11.0.0 2018-10-23发布 1. V8 7.0 2. fs fs.read()方法现在需要回调以前弃用的fs.SyncWriteStream实用程序已被删除 3. console console.countReset()如果重置的计时器不存在将发出警告console.time()如果计时器已经存在将不再重置它 10.0.0 2018-04-24发布 1. 断言 添加了和assert.rejects()方法assert.doesNotReject()以使用异步函数assert.throws()接受一个对象来与错误进行比较 2. 异步钩子 旧的实验性 async_hooks API 已被删除 3. Buffer 使用目录new Buffer()和Buffer()外部目录node_modules现在将发出运行时弃用警告Buffer.isEncoding()现在返回undefined虚假值包括空字符串Buffer.fill()如果尝试填充一个空的BuffernoAssert参数已从所有Buffer读写函数中删除 4. V8 6.6 5. 发送事件 该EventEmitter.prototype.off()方法已添加为 的别名EventEmitter.prototype.removeListener() 6. fs APIfs/promises提供了函数的实验性承诺版本fs现在会同步抛出无效路径错误该fs.readFile()方法现在对读取进行分区以避免线程池耗尽 7. node10x后续版本开放了工作线程 工作线程主要用于解决node计算类的业务问题。但需要注意的是对io类操作没有作用。
http://www.hkea.cn/news/14530057/

相关文章:

  • 邢台网站建设平台网络传播营销策划方案
  • 网站建设uuiopseo网站关键词优化哪家好
  • 做装修的业务网站网站建设需要了解的信息
  • 苏州网站开发建设方法哈尔滨网页设计师人才招聘
  • 中企做网站centos安装wordpress
  • led行业网站建设方案邯郸做wap网站
  • 开封网站制作网上商城英文
  • 青岛建站价格126企业邮箱注册申请
  • 怎么在360网站做词条网站表单
  • 佛山网站建设永网深圳网站建设哪家好
  • ajax做购物网站新的网站建设技术
  • 西安网站制作多少钱报价单模板英文
  • 建设工程教育网站开发者是什么职业
  • 福建省建设厅网站施工员查询网页界面制作步骤
  • 做网站需要服务器吗软件开发的八个步骤
  • 做设计网站的工作内容2016网站开发语言
  • 最新的购物网站 开wordpress 网址
  • 九江网站建设哪家公司好维护一个网站难吗
  • 网站建设面试表响应式网站建设精英
  • 浙江网站建设培训机构比翼网站建设
  • 做医疗网站wordpress上传漏洞
  • 小型企业做网站的价格外贸人才网最新招聘信息
  • 网站服务提供商商务网站建设的流程
  • 网站建设福州最好网站设计建设网站
  • 网站后台密码忘记了怎么办 ftp进不去免费网络电话在线拨打
  • 老实人做网站网站维护成本
  • 书店网站模板下载软件代理网
  • 网站开发包括网站设计外贸营销模板
  • 建设企业网站企业网上银行登录官网下载长沙哪里有网站制作
  • 营销型网站标准网页源码html的所有代码大全