首页 > 其他分享 >9月21日总结

9月21日总结

时间:2023-09-21 13:13:21浏览次数:47  
标签:总结 Node fs 21 -- js allow experimental

前言:欢迎来到 Node.js 20

Node.js 20 已经发布,带来了创新和激动人心的新时代。这个开创性的版本于2023年4月18日首次亮相,并将在2023年10月发布长期支持(LTS)版本,并且将持续支持至2026年4月,下面小编就为大家介绍一下Node.js20的几个新特性:

1.Node.js 权限访问

Node.js 20 正式推出了权限模型,这是 Rafael Gonzaga 提供的一项实验性功能,可以在程序运行时限制对特定资源的访问。

要使用这个强大的功能,只需启用 --experimental-permission 标志,例如:

node --experimental-permissions myApp.js

这将限制所有可用权限的访问,这样就可以确保应用程序远离任何不受欢迎的入侵者。

文件读写系统

要允许访问文件系统,请使用--allow-fs-read和 --allow-fs-write标志:

$ node --experimental-permission --allow-fs-read=* --allow-fs-write=* index.js
Hello world!
(node:19836) ExperimentalWarning: Permission is an experimental feature
(Use node --trace-warnings ... to show where the warning was created)

下面是具体指令的含义:

--allow-fs-read=*- 它将允许所有FileSystemRead操作。
--allow-fs-write=*- 它将允许所有FileSystemWrite操作。
--allow-fs-write=/tmp/- 它将允许FileSystemWrite访问该/tmp/ 文件夹。
--allow-fs-read=/tmp/,/home/.gitignore- 它允许FileSystemRead访问/tmp/文件夹和路径/home/.gitignore。

2.自定义 ESM 加载器钩子

Node.js 20通过加载器提供的自定义钩子

(--experimental-loader=./mr.mjs)在专用线程上运行,确保一切都保持井然有序。

以下是如何使用自定义加载器的快速示例:

loading.mjs

export async function resolve(specifier, parentModuleURL, defaultResolve) {
console.log("Resolving:", specifier);
return defaultResolve(specifier, parentModuleURL);
}

export async function load(url, defaul

标签:总结,Node,fs,21,--,js,allow,experimental
From: https://www.cnblogs.com/lmyy/p/17719717.html

相关文章

  • 9月20日总结
    浏览器标签页之间通信的实现使用场景​前端开发过程中,总是避免不了要进行前端标签页之间的通信,最经典的例子莫过于音乐播放网站中,当第一次点击播放列表中的歌曲时,它会打开一个新的标签页进行播放,而当在列表中再次点击歌曲播放时,并不会再多打开一个标签页,而是会在刚才新打开的标......
  • 【230921-6】如图,在四边形ABCD中,B=C=120°,AB=4,BC=CD=2. 则该四边形的面积=?
    ......
  • 9月12日总结
    博客园首页新随笔联系订阅管理随笔-283文章-0评论-234阅读-53万Java21新特性:RecordPatternsRecordPatterns第一次发布预览是在JDK19、随后又在JDK20中进行了完善。现在,Java21开始正式推出该特性优化。下面我们通过一个例子来理解这个新特性。reco......
  • 9月14日总结
    记一次.NET某餐饮小程序内存暴涨分析一:背景讲故事前些天有位朋友找到我,说他的程序内存异常高,用vs诊断工具加载时间又太久,让我帮忙看一下到底咋回事,截图如下:确实,如果dump文件超过10G之后,市面上那些可视化工具分析起来会让你崩溃的,除了时间久之外这些工具大多也不是用......
  • 9月13日总结
    DenpendcyInjection8.0新功能——KeyedService分类:.NET标签:KeyedService,DenpendcyInjection,ASP.NETCOREDenpendcyInjection8.0新功能——KeyedService本文只介绍.NETDenpendcyInjection8.0新功能——KeyedService,假定读者已熟练使用之前版本的功能。注册......
  • 9月15日总结
    责任链模式作为常用的设计模式而被大家熟知和使用。本文介绍责任链的常见实现方式,并结合开源框架如Dubbo、Sentinel等进行延伸探讨。一、责任链介绍在GoF的《设计模式》一书中对责任链模定义的:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一......
  • Java 21 新特性:Record Patterns
    RecordPatterns第一次发布预览是在JDK19、随后又在JDK20中进行了完善。现在,Java21开始正式推出该特性优化。下面我们通过一个例子来理解这个新特性。recordPoint(intx,inty){}staticvoidprintSum(Objectobj){if(objinstanceofPointp){intx=......
  • 【230921-3】指数比较大小:5^100 vs 2^234
    ......
  • 【230921-5】▲ABC中,b=5,a=3,Cos(B-A)=7/9. 求:S△ABC=?
    ......
  • 【230921-4】▲ABC中,a=1,b=2,CosB=1/4,则c=?,S△ABC=?
    ......