项目结构

    2.0 默认使用按模块进行项目结构划分的,与 1.x 在目录结构有一些差别。如果想 2.0 下使用类似 1.x 的项目结构,可以在创建项目的时候指定 —mode=normal。如:

    文件大小写

    1.x 里文件名使用驼峰的方式,如:Controller/indexController.js。2.0 里严格遵循 Node.js 社区的规范,文件路径使用小写的方式,并且文件名去除了类型,如:controller/index.js

    改变后文件名更加简洁,且不会出现有的系统下区分大小写的问题。

    debug 模式

    1.x 下开发环境需要开启 debug 模式,线上需要关闭 debug 模式,但经常会出现线上开启了 debug 模式,导致出现内存泄漏等问题。

    C 函数

    1.x 里提供了 C 函数来读取配置,2.0 里废除了该函数,不同地方使用不同的方式来读取配置。

    Controller,Middleware 等含有 对象的地方使用 config 方法来读取配置,其他等地方需要使用 think.config 方法来读取配置。

    D 和 M 函数

    1.x 里提供了 DM 函数来实例化模型,2.0 里废除了这 2 个函数,不同的地方使用不同的方式来实例化模型。

    Controller,Model,Middleware 等地方使用 model 方法来实例化模型,其他等地方使用 think.model 方法来实例化模型。

    Controller,Model 函数

    ES6 直接使用 class extends think.model.base 来创建一个模型类,非 ES6 下可以通过 think.model 来创建一个模型类,创建控制器类类似。

    其他全局函数

    1.x 里直接提供了一些通用的全局函数,如:,mkdir 等,2.0 中将这些函数都移到了 think 对象上,如:think.md5think.mkdir

    自执行目录 common/

    1.x 下 common/ 下的文件会启动被调用,2.0 中将该目录名为 bootstrap,并且要在 common 模块下,如:src/common/bootstrap

    Behavior 和 Driver

    2.0 将 Behavior 改为了 middleware,Driver 改为了 adapter。

    线上部署