Deno 项目 mod.land 使用教程
mod.land📦 Pretty subdomains for you deno project项目地址:https://gitcode.com/gh_mirrors/mo/mod.land
1. 项目目录结构及介绍
mod.land/
├── .github/
│ └── workflows/
├── .vscode/
│ └── settings.json
├── assets/
│ ├── css/
│ ├── fonts/
│ └── images/
├── src/
│ ├── components/
│ ├── pages/
│ ├── routes/
│ └── utils/
├── .gitignore
├── deno.json
├── import_map.json
├── mod.ts
├── README.md
└── tsconfig.json
目录结构说明
- .github/workflows: 存放 GitHub Actions 的工作流配置文件。
- .vscode: 存放 VSCode 的配置文件,如
settings.json
。 - assets: 存放项目的静态资源,如 CSS、字体和图片。
- src: 项目的源代码目录,包含组件、页面、路由和工具函数。
- .gitignore: Git 忽略文件,指定哪些文件或目录不需要被 Git 管理。
- deno.json: Deno 项目的配置文件。
- import_map.json: 导入映射文件,用于管理模块的导入路径。
- mod.ts: 项目的入口文件。
- README.md: 项目的说明文档。
- tsconfig.json: TypeScript 配置文件。
2. 项目启动文件介绍
mod.ts
mod.ts
是项目的入口文件,负责启动整个应用。通常包含以下内容:
import { Application } from "https://deno.land/x/oak/mod.ts";
import { config } from "https://deno.land/x/dotenv/mod.ts";
import router from "./src/routes/index.ts";
const env = config();
const app = new Application();
app.use(router.routes());
app.use(router.allowedMethods());
console.log(`Server running on port ${env.PORT}`);
await app.listen({ port: Number(env.PORT) });
启动文件说明
- 导入模块: 使用
import
语句导入所需的模块,如oak
框架、环境变量配置等。 - 配置环境变量: 使用
dotenv
模块加载环境变量。 - 创建应用实例: 使用
oak
框架创建应用实例。 - 配置路由: 将路由配置到应用实例中。
- 启动服务器: 启动服务器并监听指定端口。
3. 项目配置文件介绍
deno.json
deno.json
是 Deno 项目的配置文件,用于配置项目的依赖、任务和编译选项。
{
"tasks": {
"start": "deno run --allow-net --allow-read mod.ts"
},
"importMap": "./import_map.json",
"compilerOptions": {
"jsx": "react",
"jsxFactory": "React.createElement"
}
}
配置文件说明
- tasks: 定义项目的任务,如启动任务
start
。 - importMap: 指定导入映射文件的路径。
- compilerOptions: 配置 TypeScript 编译选项,如 JSX 支持。
import_map.json
import_map.json
是导入映射文件,用于管理模块的导入路径。
{
"imports": {
"https://deno.land/x/oak/mod.ts": "./src/deps/oak.ts",
"https://deno.land/x/dotenv/mod.ts": "./src/deps/dotenv.ts"
}
}
导入映射说明
- imports: 定义模块的别名和实际路径,方便模块的导入和管理。
通过以上内容,您可以快速了解并启动 mod.land
项目。
mod.land📦 Pretty subdomains for you deno project项目地址:https://gitcode.com/gh_mirrors/mo/mod.land
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考