1.deno介绍

作者: 9e8aeff1c70c | 来源:发表于2021-04-24 18:05 被阅读0次

    Deno是JavaScript / TypeScript的运行时,默认安全和出色的开发人员体验。

    它基于V8,Rust和Tokio构建的。

    功能亮点

    • 默认安全。默认没有文件,网络或环境访问权限(除非明确启用)。
    • 开箱即用地支持TypeScript。
    • 打包成一个可执行文件(deno)。
    • 具有诸如依赖检查器(deno info)和代码格式化(deno fmt)之类的内置实用程序。
    • 一组经过审查(审核)的标准模块,可以保证与Deno一起使用。
    • 可以将脚本放在一个JavaScript文件中。

    基石

    Deno的目标是为现代程序员提供高效且安全的脚本环境。

    Deno将始终作为单个可执行文件分发。给定Deno程序的URL,该文件仅可运行小于25 MB压缩可执行文件,即可运行。Deno明确承担了运行时和程序包管理器的角色。它使用与浏览器兼容的标准协议来加载模块:URL。

    除其他外,Deno可以很好地替代以前可能是用Bash或Python编写的实用程序脚本。

    目标

    • 仅作为单个可执行文件(deno)交付。
    • 提供安全的默认值。
      • 除非明确允许,否则脚本将无法访问文件,环境或网络。
    • 与浏览器兼容。
      • 完全用JavaScript编写且不使用全局Deno名称空间(或对其进行功能测试)的Deno程序的子集也应该能够在现代Web浏览器中运行而无需更改。
    • 提供内置工具以改善开发人员体验。
      • 例如,单元测试,代码格式化和校验。
    • 使V8概念脱离用户领域。
    • 有效地提供HTTP服务。

    与Node.js的比较

    • Deno不使用npm

      • 它使用称为URL或文件路径的模块。
    • Deno不在package.json其模块解析算法中使用。

    • Deno中的所有异步操作均返回承诺。因此,Deno提供的API与Node不同。

    • Deno需要文件,网络和环境访问的显式权限。

    • Deno总是死于未捕获的错误。

    • Deno使用“ ES模块”,不支持require()。第三方模块通过URL导入:

    ```
    import * as log from "https://deno.land/std@0.95.0/log/mod.ts";
    ```
    

    其他关键行为

    • 首次执行时获取并缓存远程代码,在代码与该--reload标志一起运行之前,不会对其进行更新。(因此,这仍然可以在飞机上使用。)
    • 从远程URL加载的模块/文件旨在保持不变和缓存。

    相关文章

      网友评论

        本文标题:1.deno介绍

        本文链接:https://www.haomeiwen.com/subject/osudrltx.html