{"id":15893936,"url":"https://github.com/chinanf-boy/deno-explain","last_synced_at":"2026-05-07T18:44:38.685Z","repository":{"id":90548205,"uuid":"148448946","full_name":"chinanf-boy/deno-explain","owner":"chinanf-boy","description":"explain: \u003cdeno\u003e 基于V8构建的安全TypeScript运行时 ❤️ 很慢地explain 中","archived":false,"fork":false,"pushed_at":"2018-09-28T11:47:08.000Z","size":50,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-08T08:47:17.906Z","etag":null,"topics":["deno","explain","gn","ninja","python","runtime","rust","ts","v8","zh"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chinanf-boy.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-12T08:40:19.000Z","updated_at":"2022-08-28T06:31:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"c4c8e33f-98dd-45a8-bc65-384d5552a72a","html_url":"https://github.com/chinanf-boy/deno-explain","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Fdeno-explain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Fdeno-explain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Fdeno-explain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Fdeno-explain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chinanf-boy","download_url":"https://codeload.github.com/chinanf-boy/deno-explain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246866100,"owners_count":20846496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno","explain","gn","ninja","python","runtime","rust","ts","v8","zh"],"created_at":"2024-10-06T08:14:06.016Z","updated_at":"2026-05-07T18:44:38.618Z","avatar_url":"https://github.com/chinanf-boy.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# deno [![explain]][source] [![translate-svg]][translate-list]\n\n[explain]: http://llever.com/explain.svg\n[source]: https://github.com/chinanf-boy/Source-Explain\n[translate-svg]: http://llever.com/translate.svg\n[translate-list]: https://github.com/chinanf-boy/deno-zh\n\n「 基于V8构建的安全TypeScript运行时 」\n\n[关于deno markdown文件 中文][translate-list] | [english](https://github.com/denoland/deno)\n\n---\n\n## explain 🀄️\n\u003c!-- doc-templite START generated --\u003e\n\u003c!-- docTempliteId = 'github' --\u003e\n\u003c!-- time = '2018 9.10' --\u003e\n\u003c!-- name = 'denoland' --\u003e\n\u003c!-- repo = 'deno' --\u003e\n\u003c!-- commit = 'c2663e1d82521e9b68a7e2e96197030a4ee00c30' --\u003e\n版本 | 与日期 | 最新更新 | 更多\n---|---|---|---\n[commit] | ⏰ 2018 9.10 | ![version] | [源码解释][source]\n\n[commit]: https://github.com/denoland/deno/tree/c2663e1d82521e9b68a7e2e96197030a4ee00c30\n[version]: https://img.shields.io/github/tag/denoland/deno.svg\n\n\u003c!-- doc-templite END generated --\u003e\n\n## 生活\n\n[help me live , live need money 💰](https://github.com/chinanf-boy/live-need-money)\n\n---\n\n### 目录\n\n\u003c!-- START doctoc --\u003e\n\u003c!-- END doctoc --\u003e\n\n\u003e deno 的 构成一开始是 Go语言的版本, 现在 作者开始 用 Rust 来 重构 - 2018 9.10\n\n### deno的语言构成\n\n\u003e 算然说， rust是核心, 但repo却不仅仅有rust, 还有 python, ts, c，... \n\n- [x] [python](#python) \n- [ ] [deno-gn](./deno-gn.md)\n- [ ] [rust](#rust)\n- [ ] [ts](#ts)\n- [ ] //...\n\n### deno构建的介绍\n\n\u003e [官方的构建所需与过程](https://github.com/denoland/deno#build-instructions)\n\n为了确保可重现的构建,Deno在git子模块中具有大部分依赖项目. 然而, 下面是需要您单独安装:\n\n- Rust\n- Node\n- Python 2. 不是 3.\n- ccache (可选但,有助于加速V8的重建. ) .\n\n``` bash\n    # Fetch deps.\n    git clone --recurse-submodules https://github.com/denoland/deno.git\n    cd deno\n    ./tools/setup.py\n\n    # Build.\n    ./tools/build.py\n\n    # Run.\n    ./out/debug/deno tests/002_hello.ts\n\n    # Test.\n    ./tools/test.py\n\n    # Format code.\n    ./tools/format.py\n```\n\n[更多](https://github.com/chinanf-boy/deno-zh#%E6%9E%84%E5%BB%BA%E8%AF%B4%E6%98%8E)\n\n\u003e 若自身构建失败, 可以看看,[二进制包](https://github.com/denoland/deno/releases) / 下载 deno 先行版(for windows) [deno.js.cn](http://deno.js.cn)\n\n### python\n\n#### 1. Setup\n\n\u003e explain start, 庆幸有个伟大项目,而它现在还是个孩子\n\n我们从`./tools/setup.py`开始, 漫漫长路, 始于足下\n\n- [x] [安装/初始化第三方-脚本](./setup.py.md)\n\n#### 2. Build\n\n`./tools/build.py`\n\n- [x] [构建-脚本](./build.py.md)\n\n\u003e 构建脚本, 最重要的且唯一做得事情就是: 启动`v8-js引擎`的构建工具[ninja]\n\n对不熟悉[ninja]的同学, 提及一下:\n\n1. [ninja]为`v8项目`搭建一个使用`gcc`之类编译工具的工作流程再加点平台特性, 以此构建不同平台的二进制/发布版本 的功能\n2. `gn` 是为`ninja`服务的, 提供[ninja]专用的`***.ninja`文件\n3. 为什么需要另找`gn`提供ninja文件? 可能是因为,更快速或者扩展配置,也可能`***.ninja`语法对用户并不友好\n4. `gn`本身也具有自己的`**.gn`文件语法, 也就是可以根据不同平台生成对应`***.ninja`配置与工具链\n5. 总结(顺序): 编写`**.gn`文件 -\u003e gn 根据这些文件生成 `**.ninja` -\u003e [ninja] 再根据这些文件运行搭载配置工具链\n\n\u003e 这种专有工具使用的专用后缀文件中的 特定语法 - 可以称为[DSL](http://www.yinwang.org/blog-cn/2017/05/25/dsl)\n\n\u003e `gn` 由 depot_tools 提供 - [一点解释](http://gclxry.com/use-depot_tools-to-manage-chromium-source/)\n\n[ninja]: https://ninja-build.org/\n\n#### 3. Test.\n\n`./tools/test.py`\n\n- [x] [测试-脚本](./test.py.md)\n\n#### 4. Format\n\n`./tools/format.py`\n\n- [x] [格式代码-脚本](./format.py.md)\n\n### deno-gn\n\n- [ ] [deno `**.g{n|ni}`的编写](deno-gn.md)\n\n### rust\n\n### ts","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Fdeno-explain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchinanf-boy%2Fdeno-explain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Fdeno-explain/lists"}