首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    尤雨溪凌晨官宣:Vue 3.2 发布

    今日凌晨,尤雨溪在微博平台官宣 Vue 3.2 发布,并表示: + TS + Volar = 真香 Vue 3.2 版本包括许多重要的新功能和性能改进,但并不包含重大更改...性能改进 由于 @basvanmeurs 的出色工作,3.2 对 Vue 的反应性系统进行了一些重大的性能改进。...命中允许 Vue 不仅跳过虚拟 DOM 差异,而且完全跳过新 VNode 的创建。虽然很少需要,但它提供了一个逃生舱来在某些情况下挤出最大性能,例如大型列表....这使得捆绑和利用非 Node.js 运行时(例如 CloudFlare Workers 或 Service Workers)成为可能。...效果范围 API 3.2 引入了一个新的 Effect Scope API,用于直接控制反应性效果(计算和观察者)的处理时间。

    64420

    「译」更快的 async 函数和 promises

    async 函数从 Node.js 8 (V8 v6.2 / Chrome 62) 开始就全面支持,async 迭代器从 Node.js 10 (V8 v6.8 / Chrome 68) 开始支持。...性能提升取决于以下三个因素: TurboFan,新的优化编译器 Orinoco,新的垃圾回收器 一个 Node.js 8 的 bug 导致 await 跳过了一些微 tick(microticks) 当我们在...最后,Node.js 8 中引入了一个 bug 在某些时候会让 await 跳过一些微 tick,这反而让性能变好了。这个 bug 是因为无意中违反了规范导致的,但是却给了我们优化的一些思路。...调用者会继续执行,最终调用栈会清空,然后引擎会开始执行微任务:运行之前准备就绪的 PromiseResolveThenableJob,首先是一个 PromiseReactionJob,它的工作仅仅是在传递给...第一的作用是封装一个 promise,第二为了 resolve 封装后的 promose await 之后的值 v。这两产生个冗余的 promise 和两个冗余的微任务。

    1.1K10

    【工具】用nvm管理nodejs版本切换,真香!

    nodejs# 查看是否安装nodejs,展示版本则是安装node -v 未安装⭕如果没有安装nodejs可以跳过此步骤安装❓如何删除安装的nodejs?...用户名\AppData\Roaming\npmC:\Users\用户名\AppData\Roaming\npm-cache查看是否删除成功node -v 提示【不是内部或外部命令,也不是可运行的程序或批处理文件...nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。nvm能干嘛?...简单的命令下载长期稳定支持版本的 Node.js 简单的命令实现 Node.js 的多个版本之间轻松切换2.nvm下载官方github地址https://github.com/coreybutler/nvm-windows...tag/1.1.123.nvm安装【双击】nvm-setup.exe【Next】根据磁盘分布自行选择安装【Install】无脑安装即可【配置】nvm环境变量C盘默认安装⭕如果C盘默认安装nodejs可以跳过此步骤自定义安装

    38210

    async 函数和 promises 的性能提升

    async 函数从 Node.js 8 (V8 v6.2 / Chrome 62) 开始就全面支持,async 迭代器从 Node.js 10 (V8 v6.8 / Chrome 68) 开始支持。...一个 Node.js 8 的 bug 导致 await 跳过了一些微 tick(microticks) ? 当我们在 Node.js 8 里 启用 TurboFan 的后,性能得到了巨大的提升。...最后,Node.js 8 中引入了一个 bug 在某些时候会让 await 跳过一些微 tick,这反而让性能变好了。这个 bug 是因为无意中违反了规范导致的,但是却给了我们优化的一些思路。...Node.js 10 纠正了这个行为,会先执行 then 链里的,然后才是 async 函数。...第一的作用是封装一个 promise,第二为了 resolve 封装后的 promose await 之后的值 v。这两产生个冗余的 promise 和两个冗余的微任务。

    72320

    Node.js生态系统的隐藏属性滥用攻击

    然后,victim 程序正常处理恶意输入负载。最后,I2 传播到内部对象。如红线所示,输入的 I2 覆盖并用冲突名称替换受害者内部对象的关键属性。...如前所述,LYNX 需要确定插入位置:根据映射,任何添加到输入基部的内容都会出现在前图中第 11 对象的基部。然后,LYNX 根据检测到的关键名称。...为了修复这些漏洞,进行了负责任的披露并通知了供应商。他们立即反应过来。目前已有10家厂商确认该漏洞,其中7家发布相应补丁。接下来,将从以下三个角度解释HPA的安全影响。...通过滥用此属性,经过身份验证的用户会发出一个耗时的任务来阻止 Node.js 的事件处理程序。如List 3 上半部分所示,在第 3 识别出一个隐藏属性 toBSON。...0x06 Conclusion在本文中对 Node.js 程序的对象共享进行了首次系统研究,并设计了一种名为隐藏属性滥用的新攻击。

    20420

    【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器

    接下来再来看看active( )函数体的具体逻辑,如果有对应键的链表则获取到它(list变量),如果没有则生成一个新的空链表,然后将这个链表添加进二叉堆,跳过中间的步骤,在最后可以看到执行了: L.append...我们找到node.js的启动文件lib/internal/bootstrap/node.js284-290,可以看到,在启动函数中,Node.js通过调用setTimers( )方法将定时器处理函数processTimers...diff参数为600-11=589, 589 > 500, 于是绕过条件分支语句,ranAtLeastOneTimer为false也跳过跳过后其值为true),接下来的逻辑从链表中删除了这个timer...500链表,然后500链表中唯一的定时器处理完后,逻辑回到processTimer的循环体,再进行第二轮循环,此时获取到堆顶的1000链表,发现仍然需要执行,那么就会先执行runNextTicks( )...,然后处理1000链表,后面的逻辑就和上面时间戳为1050时执行processTimer基本一致了。

    67630

    如何在2016年成为一个更好的Node.js开发者

    一个更加完整的新特性的列表你可以从Kyle Simpson的ES6 and Beyond中进行了解。并且它们中的绝大部分特性已经被加入到了Node.js v4中。...基于错误发生的特点,你可以对症下药,然后重试,例如文件丢失,你可以去创建相应的文件。 在回调中进行错误处理 如果一个错误发生在异步操作的过程中,错误对象应该作为异步函数的第一个参数进行传递。...catch会处理它,并且在stdout中打印出:[Error: ops] 执行继续,并且在第9会抛出一个新的错误 没有了 的确没有什么了 - 最后一个被抛出的错误将会是静默的。...始终要处理Node.js的err函数参数 始终要为浏览器全局变量增加window前缀,除了document和navigator 尽可能避免使用类似于open、length、evet、name等走位浏览器全局变量...如果你想跳过初始的提问并直接使用默认的配置,只需要运行npm init --yes即可。 监控你的应用 当发生某个故障或是故障即将发生时,及时的通知你,能够为你挽回损失。

    69870

    洛雪音乐助手移动版

    若链接无法打开请百度:蓝奏云链接打不开) 使用常见问题请转至:常见问题 桌面版项目地址:https://github.com/lyswhut/lx-music-desktop 源代码使用方式 项目环境准备 安装Node.js...环境(如安装请跳过): 下载Node.js安装结束后,打开命令行输入node -v将会输出Node.js的版本号即表示安装完成 拉取代码: 克隆本仓库代码 安装依赖: 在项目根目录打开命令行,执行命令...即可实时看到修改后的效果 Native开发 使用Android Studio打开项目根目录下的android文件夹,即可在Android Studio内进行安卓代码的开发与调试 构建安装包 首先生成安卓签名文件,然后将你的签名文件放在...android/app/,然后在android/新建keystore.properties文件,填入你的签名信息: storeFile= storePassword= keyAlias= keyPassword

    1.7K30

    Nodejs 版本管理工具 nvm 介绍

    Node.js平台,Node.js工具社区和Node.js库是快速移动的目标 - 在一个Node.js版本下可能有效的方法不能保证适用于另一个版本的Node.js。...,仅从源代码安装 nvm install -b 跳过源下载,仅从二进制安装 –reinstall-packages-from= 重新安装包 –lts 安装时,仅选择LTS(长期支持...卸载一个版本 nvm uninstall --lts 使用自动 LTS(长期支持)别名“lts/*”卸载(如果可用) nvm uninstall --lts= 使用提供的 LTS 的自动别名进行卸载...nvm current 显示当前激活的 Node 版本 nvm ls [] 列出安装的版本,匹配给定的 (如果提供) nvm list nvm ls-remote...将 中包含的全局 npm 软件包重新安装到当前版本 nvm unload 从 shell 中卸载 nvm nvm which [current | ] 显示安装节点版本的路径

    1K10

    鸿蒙应用开发环境

    Node.js Node.js 软件仅在使用到JS语言开发HarmonyOS应用时才需要安装。使用其它语言开发,不用安装Node.js,请跳过此章节。...Node.js官方网站,下载Node.js软件包。请选择LTS版本,Windows 64位对应的软件包。 傻瓜式下一步即可。 ?...npm设置 官方文档多次提到各种代理环境的设置,一般自用电脑是无需设置的,我们直接跳过。...npm config set registry https://mirrors.huaweicloud.com/repository/npm/ Hello World 运行后,各种协议都要勾选,然后就是下载...在浏览器中弹出华为帐号登录界面,请输入实名认证的华为帐号的用户名和密码进行登录。 必须已经实名的华为账号。 登录后,请点击界面的允许按钮进行授权。

    91930

    到底什么是Event Loop?那就来了解一下JavaScript分别在浏览器和Node环境下的运行机制吧

    就是很多段JS代码,它的执行顺序是从上到下一执行的,即只有当上一的代码执行完后才会执行下一代码 这样的设定也是为了保证我们在实现某些功能时的代码逻辑的顺序性 此时有些人就会提出问题,上来就甩了一段代码给我...setTimeout(function (){ console.log('2') }, 1000) console.log('3') /* 运行结果: 1 3 2 */ 不是说JS是单线程的,一代码执行的吗...Node.js的Event Loop 是基于libuv实现的 通过 Node.js 的官方文档可以得知,其事件循环的顺序分为以下六个阶段,每个阶段都会处理专门的任务: timers: 计时器阶段,用于处理...,分别是宏任务 setImmediate 和 微任务 process.nextTick setImmediate 会在 check 阶段被处理 process.nextTick 是Node.js中一个特殊的微任务...setImmediate 实现二: 既然要让 setTimeout 后打印,那么就要想办法让它在第二轮循环时被执行,那么我们可以让 setTimeout 在第一轮事件循环跳过 timers 阶段后执行

    72300

    作为一个程序员,什么是脚本。必须要理解「建议收藏」

    q=bash+%E7%AC%AC%E4%B8%80%E4%B8%AA+%E5%8F%82%E6%95%B0 判断目录是否存在 if [ -d $1 ]; then echo 'error: dir...Node.js 写脚本 上面我们写的脚本叫做 Bash Script(Bash脚本)。.../js/main.js", "") process.exit(0) (Windows 用户跳过这一步)给 jsdemo.js 加上执行权限 chmod +x ~/local/jsdemo.js cd.../usr/bin/env node (以下操作在 Windows 上可能失败,失败了就算了) 然后你就可以直接用 ~/local/jsdemo.js zzz 了(省得输入 node 了)。...总结 我们学会了 脚本就是给机器一执行的文本 Bash 脚本有 Bash 脚本的语法,Node.js 脚本有 JS 语法 不管是那种脚本,能实现的功能都差不多,只是语法不同 Bash 脚本的语法挺奇葩的

    2.4K20

    多图生动详解浏览器与Node环境下的Event Loop

    就是很多段JS代码,它的执行顺序是从上到下一执行的,即只有当上一的代码执行完后才会执行下一代码 这样的设定也是为了保证我们在实现某些功能时的代码逻辑的顺序性 此时有些人就会提出问题,上来就甩了一段代码给我...setTimeout(function (){ console.log('2') }, 1000) console.log('3') /* 运行结果: 1 3 2 */ 不是说JS是单线程的,一代码执行的吗...(1)node中的Event Loop 我们来看一张Node.js的 Event Loop 简图 Node.js的Event Loop 是基于libuv实现的 通过 Node.js 的官方文档可以得知...,分别是宏任务 setImmediate 和 微任务 process.nextTick setImmediate 会在 check 阶段被处理 process.nextTick 是Node.js中一个特殊的微任务...setImmediate 实现二: 既然要让 setTimeout 后打印,那么就要想办法让它在第二轮循环时被执行,那么我们可以让setTimeout 在第一轮事件循环跳过 timers 阶段后执行

    67920

    通过NVM管理Node.js多版本

    Node.js版本背景 Node.js拥有一个开发迭代稳定且快速的社区。它的当前最新主版本(Current Release)会通常持续半年,用来给社区的工具库的开发者足够的时间来作兼容等支持处理。...如果你已经有了一台云服务器,无论是CVM和还是Lighthouse实例,并在其上安装了Node.js,那么可以跳过本节内容,进入NVM安装环节。...安装的版本仍然能用NVM统一管理。NVM对已有的Node.js是无侵入地增量式管理。这点其实非常赞。 安装过程非常简单,分两步: 1....:list/ls 子命令 nvm list 3.png 蓝色:系统安装版本;绿色:当前使用版本;另外还有暗黄色的系统先前已经安装的版本。...我们可以在项目根目录下创建.nvmrc文件,仅一内容 v14.9.0 后续就可以用如下更简单的命令灵活切换了。

    8.3K2714
    领券