【从零开发】主义主义网站
系列视频
每个视频对应的代码版本: https://gitlab.com/728/ismism/-/issues/45
代码结构 ismism
开发环境 - 写的代码 ismism.ts
运行环境 - 跑的代码 ismism
编译环境 =>编译生成=> 运行环境 =>部署=> 运行(服务器端 + 浏览器端)
ismism.ts
编译环境cli
命令command line interface
sendsms.ts
发送测试短信bundle.ts
编译 .ts 并打包 .jsbuild .ts and bundle .js
build.zsh
编译生成运行环境
src
源代码source
ont
基础操作ontic
base.ts
进制转换utc.ts
时间格式Universal Time Convention
crypt.ts
签名验证cryptography
jwt.ts
身份验证JSON Web Token
adm.ts
行政区划administrative region
json.ts
JSON数据声明
eid
核心操作eidetic
typ.ts
数据类型声明type
db.ts
数据库初始化与数据操作类型声明database
is.ts
数据定义与检查id.ts
实体数据操作identity
usr.ts
用户数据操作user
soc.ts
俱乐部数据操作sociation
social
agd.ts
活动数据操作agenda
rec.ts
记录数据操作record
-credit
debit
earn
msg.ts
文章数据操作message
-wsl
lit
aut.ts
权限数据操作author
authority
pra
业务操作praxic
can.ts
操作权限doc.ts
数据组合document
que.ts
查询接口query
HTTP GET
对数据组合做请求pas.ts
用户登陆pass
(的操作组合)pre.ts
创建操作pre-data
prepare
(的操作组合)put.ts
更新操作put-data
(的操作组合)pos.ts
请求接口post
HTTP POST
对操作组合做请求
ser.ts
服务serve
tst
测试代码tests
ui
图形界面graphical user interface
index
UI声明(HTML/CSS)index.html
UI入口template.html
UI元素style.css
UI样式
bind
UI定义(TS/JS)绑定服务器端与浏览器端的数据fetch.ts
绑定数据bind.ts
绑定UI入口template.ts
绑定UI元素
ui.ts
打包UIui bundle
cli
命令(运行环境)(服务器端)*ser.js
服务serve
db.zsh
启动数据库stop.zsh
停止服务start.zsh
启动服务
*ui
图形界面(运行环境)(浏览器端)*index.html
网页界面
mongod.service
mongod.yaml
数据库配置(服务器端)nginx.conf
端口配置(服务器端)
开发环境
deno
开发工具
deno lsp
deno lint
deno check
声明检查 类型检查 形式检查- 就代码本身做检查
verifying code as such
(静态检查) - 不运行代码,没有输入数据,没有输出结果,只检查代码的形式(形式推理)
- 就代码本身做检查
deno compile
deno bundle
编译打包- 把带有类型声明的
.ts
typescript
文件编译打包成没有类型声明,浏览器可直接运行的.js
javascript
- 在通过静态检查的前提下,把代码转化成直接可运行的状态
- 所有的类型声明,以及与运行状态无关的代码,都会被清除掉
- 代码的形式会被扬弃
- 把带有类型声明的
deno eval
deno test
deno run
运行代码 测试代码 执行功能- 根据输入,运行程序,检查定义状态和内容(动态检查)
- 内容体现为运行过程中展开的数据状态
- 功能体现为用户与程序的交互
- 程序的执行,向用户敞开
运行环境
服务器环境
mongodb
数据库
- 快速高效的读写数据
127.0.0.1:27017
127.0.0.1
=localhost
= 本地- 只有本地服务能访问的端口
mongod --config mongod.yaml
ser.js
数据服务
- 定义和提供数据操作和功能
127.0.0.1:728
127.0.0.1
=localhost
= 本地- 只有本地服务能访问的端口
deno run --allow-net --allow-read cli/ser.js
nginx
服务代理
- 高效、安全地处理请求
- 断然地否定不正当的请求
- 对外防御数据库、服务不设防的状态
0.0.0.0:80
0.0.0.0
=localhost
= 公网开放端口- 对外敞开的端口
nginx -p . -c nginx.conf
/
主页index.html
/q
查询接口,如/q?que="usr"&usr=728
/p
数据接口
用户环境
网页浏览器,如 Chrome, Firefox, Safari, 微信浏览器
Description
Languages
TypeScript
97.8%
HTML
1.4%
Shell
0.8%