当前位置: 首页 > 后端技术 > Node.js

Deno初学者

时间:2023-04-03 15:25:23 Node.js

Deno是一个能够保证安全和开发体验的js/ts运行时。与Node(用c++开发)不同,它是用Rust语言开发的,Rust本身也支持WebAssembly。它还在js中内置了V8引擎和tsc引擎,所以它也支持运行javascript和ts语言,使用Rust的Tokio库实现事件循环功能。默认安全、文件、网络或环境访问需要开发者授权内嵌tsc,可以通过可执行程序deno解析ts文件运行代码包含依赖检查(denoinfo)和代码格式化工具(denofmt)有一套经过审查的标准模块可以与deno一起使用。Deno脚本可以打包成单个js文件。主要目标是为现代程序员提供高效安全的脚本环境,deno程序最终作为单个可执行文件分发。它使用浏览器兼容的标准协议URL加载模块,加载的模块压缩后不能超过15MB;deno承担运行时和包管理的角色。目标是提供一个可执行程序deno,所有操作都通过这个文件完成,支持跨平台Mac、Linux、Windows提供安全默认值:脚本不能访问文件、环境或网络浏览器,除非允许在浏览器中运行而不anychanges提供构建工具,例如单元测试、代码格式化和代码问题检测,以提供开发人员体验而不向用户泄露V8概念可以有效地提供http服务和Node比较Deno而不使用npm,它使用urls和文件路径来加载模块并且不使用package.json来解析模块。所有的异步行为都返回一个promise,不像node,promise和callback都有Deno需要显式权限才能访问文件、网络和环境Deno总是挂在未捕获的错误上使用es模块,不支持require(),第三方模块通过导入url,例如:import*aslogfrom"https://deno.land/std/log/mod.ts";其他关键行为远程代码将在第一次拉取后被缓存,并且永远不会过期,除非在运行代码时使用--relo从远程url加载的广告标记、模块或文件被认为是不可修改和可缓存的内部构建工具和相应的命令依赖项检测:deno信息代码格式:denofmt代码打包:denobundle运行时类型信息:deno类型测试:deno测试命令行调试器:--调试代码规范检测:denolint