服务器裸奔

    这就行了,一个静态文件服务器就跑起来了. TypePress 下的代码是这样的

    1. server.Simple()

    有三种方法设置服务器基本参数:

    • 通过命令行参数 —help 可以获得帮助列表
    • os.Getenv 获取 应用通过 os.Setenv 设置参数
    • 从 TOML 文件读取 TOML 文件支持已经默认加入
    • 安全关闭机制 shutdown 总用 kill 是不安全的. 得益于
    • i18n 接口 i18n 接口非常轻量, 当 fmt.Sprintf 使就行
    • 延迟初始化 有些初始化工作需要在 main 执行时调用
    • 子路由 按 http method 划分的子路由, 主路由只能由 main 函数调用
    • 角色控制 字符串角色命名, 自动转化为 支持的 interger
    • 日志支持 引入 typepress/log, 支持 file 分割, email发送
    • 数据库接口支持 引入, 即便不需要也不必担心, 这是个轻量接口
    • core 全局可访问的对象和 类型
    • 基于 Martini Injector 的设计 这是最最重要的

    这样列举起来, 貌似这个 Simple Server 貌似已经不轻量了. 不! 他依然是轻量的, 因为这些接口设计的很轻量, 当你不用他们的时候, 他们不会产生过多的消耗. 这些接口的代码都很短, 引入他们, 怎加不了多少代码空间.
    应该可以看出仅仅是这些基础的功能已经形成了一个服务器框架.

    这些很多都是独立的 package, 可以单独使用. 从 typepress org 可以看出, 模块以独立的 rep 出现.
    typepress 特别注意降低依赖, 写成独立 rep 是最基本的方法.