Erlo

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

时间:2021-01-27   阅读:68次   来源:开源中国
页面报错
点赞

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首页样式预览

完整demo下载:

https://gitee.com/wolf18/deno_mvc

相关推荐

提交留言

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo吐槽

    Erlo.vip2021-08-05 00:53:52Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认