跳到主要内容

初始化项目

现在假定你的项目名称为 myweb,以下出现 myweb 名称的时候指的都是你的项目名称,在实际工作中请替换成你自己项目的名称。

安装依赖包

创建项目目录 myweb 并使用 vscode 打开项目文件夹

打开 vscode 的 终端 并输入命令初始化一个 node 项目:

yarn init -2

根据命令行提示完善你的 node 项目信息。

添加 zenweb 依赖

yarn add zenweb
关于 zenweb 包

zenweb 包就是将最常用的模块做了整体封装,关于 zenweb 包的更多用法请参考 zenweb包

添加开发依赖

TypeScript 项目

yarn add --dev dotenv typescript rimraf tsc-watch

JavaScript 项目

yarn add --dev dotenv nodemon

添加执行指令

package.json 文件的 scripts 块中添加以下指令:

package.json
"scripts": {
"start": "node --enable-source-maps app",
"vscode": "yarn dlx @yarnpkg/sdks vscode",
"dev": "rimraf app && tsc-watch --onSuccess \"yarn run dev-start\"",
"dev-start": "node -r dotenv/config --enable-source-maps app",
"build": "rimraf app && tsc"
}

指令功能介绍:

指令说明
start启动生产环境
dev监控代码修改并启动开发环境
build构建生产环境代码(TypeScript 项目使用)
dev-start启动 TypeScript 项目开发环境(用于 tsc-watch 编译完成后调用)
vscode对 VSCode 添加 yarn pnp 支持

对 VSCode 添加 yarn pnp 支持

yarn vscode

创建 TypeScript 配置文件

提示

JavaScript 项目跳过这一步

在项目目录中新建文件 tsconfig.json

tsconfig.json
{
"extends": "zenweb/tsconfig-app",
"compilerOptions": {
"outDir": "app"
},
"include": ["src/**/*"]
}
备注

正确配置 tsconfig 文件很关键,因为 zenweb 高度依赖 TypeScript 的 Decorators 特性

配置开发时环境变量

开发时需要指定一些环境变量给项目使用,我们使用 dotenv 工具来解决这个问题。

在项目根目录创建 .env 文件

.env
APP_NAME=myweb
NODE_ENV=development
DEBUG=*

变量说明:

变量说明
APP_NAME指定应用名称,用于日志、性能收集等,集群化应用分组用
NODE_ENV指定当前使用环境,开发环境为 development,生产环境为 production
DEBUG指定 debug 函数需要输出的内容, 关于 debug 函数的使用请参考 debug 函数的一些常见用法
PORT指定服务端口,默认 7001
关于生产环境变量

在生产环境中我们会使用 Dockerfile 来指定环境变量,不再需要 dotenv 包,这里的 .env 文件只会用于本地开发

创建项目启动代码

创建 src 文件夹并在文件夹内创建 index.ts 文件

src/index.ts
import { create } from "zenweb";

// 创建 zenweb 实例
// create() 函数参数支持内置模块配置,这里先不做任何配置
create()

// 中间这里可以安装配置其它模块,这里暂不做介绍
// .setup(someModule())

// 启动 web 服务
.start();

执行命令启动项目

yarn dev

如果一切顺利你应该看到控制台输出内容:

...
boot time: 15 ms
server on: 7001.

此时你可以打开 http://127.0.0.1:7001 查看是否可以访问并看到一个 "Not Found"

对,只有 "Not Found",因为我们还没有任何控制器可供访问。