V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Nugine0
V2EX  ›  JavaScript

Deno 中文手册

  •  
  •   Nugine0 · 2020-05-14 15:58:00 +08:00 · 2602 次点击
    这是一个创建于 1445 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Deno 是一个 JavaScript/TypeScript 的运行时,默认安全,有着卓越的开发体验。

    Deno 建立在 V8 、Rust 和 Tokio 的基础上。

    功能亮点

    • 默认安全。外部代码没有文件系统、网络、环境的访问权限,除非显式开启。

    • 支持开箱即用的 TypeScript 的环境。

    • 只分发一个独立的可执行文件 (deno)。

    • 有着内建的工具箱,比如一个依赖信息查看器 (deno info) 和一个代码格式化工具 (deno fmt)。

    • 有一组经过审计的 标准模块,保证能在 Deno 上工作。

    • 脚本代码能被打包为一个单独的 JavaScript 文件。

    哲学

    Deno 旨在为现代程序员提供高效、安全的脚本环境。

    它将始终作为单个可执行文件分发,并且该可执行文件将能运行任何 Deno 程序。给定一个 Deno 程序的 URL,您应该能够用压缩后不超过 15 MB 的 Deno 可执行文件运行它。

    Deno 明确地承担了运行时和包管理器的角色。它使用标准的浏览器兼容协议(URL)来加载模块。

    对于过去用 bash 或 python 编写的工具脚本来说,Deno 是一个优秀的替代品。

    目标

    • 只分发一个独立的可执行文件 (deno)。

    • 默认安全。外部代码没有文件系统、网络、环境的访问权限,除非显式开启。

    • 浏览器兼容:完全用 JavaScript 编写且不使用全局Deno命名空间(或功能测试)的程序是 Deno 程序的子集,应该能够直接在现代浏览器中运行而无需更改。

    • 提供内置工具来提升开发体验,比如单元测试、代码格式化、代码检查。

    • 不把 V8 的概念泄露到用户空间。

    • 能够高效地提供 HTTP 服务

    与 Node.js 的比较

    • Deno 不使用 npm,而是使用 URL 或文件路径引用模块。
    • Deno 在模块解析算法中不使用 package.json
    • Deno 中的所有异步操作返回 promise,因此 Deno 提供与 Node 不同的 API 。
    • Deno 需要显式指定文件、网络和环境权限。
    • 当未捕获的错误发生时,Deno 总是会异常退出。
    • 使用 ES 模块,不支持 require()。第三方模块通过 URL 导入。
    import * as log from "https://deno.land/std/log/mod.ts";
    

    其他关键行为

    • 远程代码在第一次运行时获取并缓存,直到代码通过 --reload 选项运行。(所以它在飞机上也能工作)

    • 从远程 URL 加载的模块或文件应当是不可变且可缓存的。

    完整内容

    更多内容托管于 GitHub Pages,有兴趣的朋友可以继续了解。

    https://nugine.github.io/deno-manual-cn/

    3 条回复    2020-05-15 08:34:53 +08:00
    cy476571989
        1
    cy476571989  
       2020-05-14 21:47:42 +08:00
    你好,我自己做了一个翻译工具,专门用来翻译开源项目文档。最重要的功能是:提供所见即所得的可视化 Editor + 机器翻译用来提高翻译效率,以及自动化的更新流程,降低译文文档的维护成本。同时,我们也提供文档下载功能,可以下载自己翻译的文档,自行部署。

    目前我已经用这套翻译工具翻译了 redux.js, Koa, node-mysql 等项目。

    更多详细内容,欢迎浏览官网:www.breword.com

    另外,我也已经抓取了 deno 的文档内容,地址为:
    https://www.breword.com/projects/5ebcb0f5ddcf37001b4c33eb

    期待与你的交流。
    Nugine0
        2
    Nugine0  
    OP
       2020-05-15 00:08:35 +08:00 via Android
    @cy476571989 确实能解决很多翻译中的痛点。
    Maxwells8
        3
    Maxwells8  
       2020-05-15 08:34:53 +08:00 via iPhone
    这人真是太懒了,取个名字字母都不换一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5473 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:04 · PVG 16:04 · LAX 01:04 · JFK 04:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.