你好,世界
Deno 是一个安全的 JavaScript 和 TypeScript 运行时。
运行时是代码执行的环境。它为程序运行提供必要的基础设施,处理内存管理、I/O 操作以及与外部资源的交互等事务。运行时负责将高级代码(JavaScript 或 TypeScript)转换为计算机可以理解的机器指令。
在 Web 浏览器(如 Chrome、Firefox 或 Edge)中运行 JavaScript 时,您使用的是浏览器运行时。
浏览器运行时与浏览器本身紧密耦合。它们提供用于操作文档对象模型 (DOM)、处理事件、发出网络请求等的 API。这些运行时是沙盒化的,它们在浏览器的安全模型内运行。它们无法访问浏览器外部的资源,例如文件系统或环境变量。
使用 Deno 运行代码时,您是在机器上直接执行 JavaScript 或 TypeScript 代码,而无需浏览器环境。因此,Deno 程序可以访问主机计算机上的资源,例如文件系统、环境变量和网络套接字。
Deno 提供了运行 JavaScript 和 TypeScript 代码的无缝体验。无论您喜欢 JavaScript 的动态特性还是 TypeScript 的类型安全,Deno 都能满足您的需求。
运行脚本 跳转到标题
在本教程中,我们将使用 Deno 创建一个简单的 JavaScript 和 TypeScript “Hello World” 示例。
我们将定义一个名为 capitalize
的函数,用于将单词的首字母大写。然后,我们定义一个名为 hello
的函数,该函数返回带有大写名称的问候消息。最后,我们使用不同的名称调用 hello
函数,并将输出打印到控制台。
JavaScript 跳转到标题
首先,创建一个 hello-world.js
文件并添加以下代码
function capitalize(word) {
return word.charAt(0).toUpperCase() + word.slice(1);
}
function hello(name) {
return "Hello " + capitalize(name);
}
console.log(hello("john"));
console.log(hello("Sarah"));
console.log(hello("kai"));
使用 deno run
命令运行脚本
$ deno run hello-world.js
Hello John
Hello Sarah
Hello Kai
TypeScript 跳转到标题
此 TypeScript 示例与上面的 JavaScript 示例完全相同,只是代码中添加了 TypeScript 支持的类型信息。
创建一个 hello-world.ts
文件并添加以下代码
function capitalize(word: string): string {
return word.charAt(0).toUpperCase() + word.slice(1);
}
function hello(name: string): string {
return "Hello " + capitalize(name);
}
console.log(hello("john"));
console.log(hello("Sarah"));
console.log(hello("kai"));
使用 deno run
命令运行 TypeScript 脚本
$ deno run hello-world.ts
Hello John
Hello Sarah
Hello Kai
初始化项目 跳转到标题
正如您刚才所见,虽然可以直接使用 deno run
运行脚本,但对于较大的项目,建议创建一个项目结构。这样您可以更轻松地组织代码、管理依赖项、编写脚本任务和运行测试。
通过运行以下命令初始化一个新项目
deno init my_project
其中 my_project
是您的项目名称。您可以阅读更多关于项目结构的信息。
运行您的项目 跳转到标题
导航到项目目录
cd my_project
然后您可以直接使用 deno task
命令运行项目
deno task dev
查看新项目中的 deno.json
文件。“tasks”字段中应该有一个 dev
任务。
"tasks": {
"dev": "deno run --watch main.ts"
},
dev
任务是一个常见任务,用于在开发模式下运行项目。如您所见,它使用 --watch
标志运行 main.ts
文件,该标志将在进行更改时自动重新加载脚本。如果您打开 main.ts
文件并进行更改,则可以看到此操作。
运行测试 跳转到标题
在项目目录中运行
deno test
这将执行项目中的所有测试。您可以阅读更多关于Deno 中的测试的信息,我们将在后面的教程中更深入地介绍测试。目前,您有一个测试文件 main_test.ts
,用于测试 main.ts
中的 add
函数。
添加到您的项目 跳转到标题
main.ts
文件用作应用程序的入口点。您将在其中编写主要的程序逻辑。开发项目时,您首先要删除默认的加法程序,并将其替换为您自己的代码。例如,如果您正在构建 Web 服务器,则可以在此处设置路由和处理请求。
除了初始文件之外,您可能还会创建其他模块(文件)来组织代码。考虑将相关功能分组到单独的文件中。请记住,Deno 支持 ES 模块,因此您可以使用 import 和 export 语句来构建代码。
Deno 项目示例文件夹结构
my_project/
├── deno.json
├── main.ts
├── main_test.ts
├── routes/
│ ├── home.ts
│ ├── about.ts
├── services/
│ ├── user.ts
│ ├── post.ts
└──utils/
├── logger.ts
├── logger_test.ts
├── validator_test.ts
└── validator.ts
这种结构可以保持你的项目整洁,并使其更容易查找和管理文件。
🦕 恭喜!现在您知道了如何在 JS 和 TS 中创建简单的脚本,以及如何使用 deno run
命令在 Deno 中运行它,以及如何使用 deno init
创建全新的项目。请记住,Deno 鼓励简洁性并避免复杂的构建工具。保持你的项目模块化、可测试和有条理。随着项目的增长,调整结构以适应你的需求。最重要的是,享受探索 Deno 的各种功能!