当前位置:首页 > 其他 > Deno初体验:一个简单的MVC案例

Deno初体验:一个简单的MVC案例

原创 2021-01-26 其他 611
分享给朋友:

Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验。Deno 含有以下功能亮点:

默认安全。外部代码没有文件系统、网络、环境的访问权限,除非显式开启。

支持开箱即用的 TypeScript 的环境。

只分发一个独立的可执行文件(deno)。

有着内建的工具箱,比如一个依赖信息查看器(deno info)和一个代码格式化工具(deno fmt)。

有一组经过审计的 标准模块,保证能在 Deno 上工作。

脚本代码能被打包为一个单独的 JavaScript 文件。

Deno 是一个跨平台的运行时,即基于 Google V8 引擎的运行时环境,该运行时环境是使用 Rust 语言开发的,并使用 Tokio 库来构建事件循环系统。

着手进入Demo的Hello World开发!

如何安装 Deno:http://www.denoland.cn/thread/3

安装后在控制台中输入 deno --version 查看版本号,如果有显示则为安装正常!

初体验 Deno MVC 案例:

resources.ts

/**公共资源引用 */
export * from "https://deno.land/x/abc@v1.2.4/mod.ts";
export * from "https://deno.land/x/denodb@v1.0.21/mod.ts";

database.ts

/**MySQL 数据库连接 请按照自有数据库对应相关库名*/
import { Database } from "../resources.ts";

const defaultMySQLOptions = {
  database: "test", // mysql 数据库
  host: "127.0.0.1", // mysql host
  username: "root", // mysql 帐号
  password: "root", // mysql 密码
  port: 3306, // mysql 端口
};

const getMySQLConnection = (options = {}, debug = false): Database => {
  const connection: Database = new Database(
    {
      dialect: "mysql",
      disableDialectUsageDeprecationWarning: true,
      debug,
    },
    {
      ...defaultMySQLOptions,
      ...options,
    },
  );
  return connection;
};

export { getMySQLConnection };

server.ts

/**服务入口 */
import { Application } from "./resources.ts";
import ArticleController from "./controller/article.ts";
import TimeController from "./controller/time.ts";

const app = new Application();
const port = 8000;
app
  .static("/", "./public") // 静态资源
  // 相关API
  .get("/api/nowtime", TimeController.getNowTime)
  .get("/api/article", ArticleController.findAll) // 测试URL:http://localhost:8000/api/article?limit=15
  .get("/api/article/:id", ArticleController.findById) // 测试URL:http://localhost:8000/api/article/1
  .start({ port: port }); // 启动端口
//  首页地址 http://localhost:8000/index.html
console.log(
  `start successfully. you can visit it on http://localhost:${port}`,
);

index.html首页样式预览

QQ截图20210126105345.png

完整demo下载:

链接:https://gitee.com/wolf18/deno_mvc



声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权

转载:转载请注明原文链接,违者必究 - :https://www.wolfcode.net/info/219/

分享给朋友:

相关文章

为集群搭建一个定时任务集中调度系统

集群任务下,很多服务器的定时任务都单独集中在相对应的服务器crontab下,即使现在有了类似于宝塔之类的面板,但是定时任务还是得每台服务器单独登入后去配置。是否可以单独在一台机子上,控制所有的集群定时任务呢?答案是肯定的!!!gocron就可以做到,之前博主分享过单机搭建定时任务管理系统,那现在,我

Linux 日志清理

磁盘占用90%,占用过多,分析日志查看原因

如何在Linux上做一个定时任务管理系统

gocron,使用Go语言开发的轻量级定时任务集中调度和管理系统, 用于替代Linux-crontab

Nginx 自动生成日志备份

Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据

3月18日,多年的老站终于破了1.5W的PV

从最早的建站初心是为了自己方便,从fivefilm.com到30942.com,有网友说域名不好记,索性注册了看个蛋(kangedan.com)的域名。6年多的时间(我也是随性等得起)0推广,纯自然流量!今天看了下PV记录,有点被吓到!特别纪念一下,之前都是几千IP,封顶也没超过1.5W。

如果你懂得用Excel,微软Power Fx助你成为一名优秀的程序员

在程序员的世界中,打开第一扇门永远是Hello World!这是Power Fx的一段最基础的语法。微软宣布推出新的开源编程语言 Power Fx,一种基于 Microsoft Excel 的低代码公式语言;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机

微软推出Go语言从入门到上手的文档

微软有自己的技术文档专栏网站,可能很多小伙伴都不知道!除了自己的.NET语言,还包括了市面上绝大多数流行语言的技术文档都有。这次,微软把Go语言也加入到了自家技术文档网站中,而且绝大多数文档都是有中文版本的!点击直接访问:更多文档访问以下地址:https://docs.microsoft.com/z

【年度重磅】阿里淘系全年技术总结黑皮书,1500页免费下载!

淘系技术将2020一整年的精华内容梳理合并,重磅推出【淘系技术2020技术年货】。在这本书中,你将看到:各技术栈下时新前沿的技术讲解与方法技巧、淘系技术大牛的职场成长经验&学习问答实录、年度精选技术人员必读书单、淘系经典开源项目介绍、2020淘系顶会 paper 全文。

百度上线“开发者搜索”,程序员专用的搜索平台

无意中发现了一个地址:https://kaifa.baidu.com百度近期上线的“开发者搜索”功能,看来是给程序员专门开发的一个搜索功能板块,目前测试了页面还算清爽,没有广告,后期未知!有待观察,有需要的小伙伴可以进行深度使用测试~~

纪念我们即将逝去的CentOS

CentOS 官方发文称 CentOS Stream 才是 CentOS 项目的未来,在接下来的一年里,将逐步把开发工作的重心从 CentOS Linux 往 CentOS Stream 转移。官方已明确表示未来不会再发布由 RHEL 代码编译而成的 CentOS,意思就是无须再对 Cen